OSDN Git Service

eb7fd064a7aaff08cd46b32f8f6469b7366fe5fd
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2005-02-12  Richard Henderson  <rth@redhat.com>
2
3         * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
4         validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
5
6 2005-02-10  Andreas Jaeger  <aj@suse.de>
7
8         * init.c (__gnat_initialize): Mark parameter as unused.
9
10 2005-02-09  Doug Rupp  <rupp@adacore.com>
11
12         * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
13         * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
14
15 2005-02-09  Doug Rupp  <rupp@adacore.com>
16
17         * gnatchop.adb (dup, dup2),
18         g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
19
20         * gnatlbr.adb (mkdir),
21         mlib-tgt-vms-ia64.adb (popen, plose):  Import with decc$ prefix.
22
23         * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
24
25 2005-02-09  Doug Rupp  <rupp@adacore.com>
26
27         * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
28
29 2005-02-09  Robert Dewar  <dewar@adacore.com>
30             Thomas Quinot  <quinot@adacore.com>
31             Javier Miranda  <miranda@adacore.com>
32             Pascal Obry  <obry@adacore.com>
33             Ed Schonberg  <schonberg@adacore.com>
34             Doug Rupp  <rupp@adacore.com>
35             Gary Dismukes  <dismukes@adacore.com>
36             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
37
38         * g-zstspl.ads: New file.
39
40         * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
41
42         * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
43         Ada 95 mode
44         Add definition of Wide_Wide_Space for AI-285
45
46         * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
47         interface (to support Ada 95 and Ada 2005 units).
48         Add Unbounded_IO files
49         Add entries for Wide_Wide packages for AI-285
50         Add list of containers packages to Ada 2005 unit list
51
52         * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
53         support new Unbounded_IO package cleanly.
54
55         * g-utf_32.ads, g-utf_32.adb: New files.
56
57         * Makefile.rtl: Add entry for g-utf_32
58         Add new files for Unbounded_IO
59         Adjust make file for new AI-285 wide wide packages
60         Add AI-302 containers to the run time.
61
62         * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
63         a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
64         subprograms for AI-301.
65
66         * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
67
68         * a-stunau.ads: Minor comment correction
69
70         * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
71         etc.
72         Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
73         (Check_RPC): Update to match changes in expanded code.
74         Clean up unused entity.
75
76         * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
77         was not taken into account.
78         This includes proper initialization with Normalize_Scalars.
79         (Get_Simple_Init_Val): Major rewrite for initialize scalars and
80         normalize scalars cases (particularly the latter) to do a better job
81         of finding invalid representations.
82
83         * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
84
85         * s-strops.ads, s-strops.adb: Remove string normalize routines, never
86         used
87
88         * exp_dist.adb: Add support for wide wide character type
89         (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
90         private part, generate stub bodies at the end of the private part,
91         not the visible part.
92         (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
93         PolyORB support.
94         (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
95         generic wrapper to execute final processing after completing the
96         expansion of the RPC receiver for an RACW.
97
98         * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
99         packages and attributes.
100         (Preset_Names): Addition of the new reserved words of Ada 2005,
101         that is interface, overriding and synchronized.
102         (Get_Pragma_Id): Give support to the use of the new reserved word
103         "interface" as a pragma name.
104         (Is_Pragma_Name): Give support to the use of the new reserved word
105         "interface" as a pragma name.
106         (Preset_Names): Add stream_size string for the Stream_Size Ada2005
107         attribute implementation.
108
109         * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
110         checks to entities that are output parameters of Asm operations.
111         Handle the Stream_Size attribute.
112         Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
113
114         * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
115
116         * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
117         for second parameter being 0.0.
118         Add support for wide wide character type.
119         (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
120
121         * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
122         s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
123         s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
124         s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
125         for wide wide character cases.
126
127         * cstand.adb: Create entities for Wide_Wide_Character and
128         Wide_Wide_String.
129
130         * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
131         accordance with AI-258.
132         Add new declarations for 16/32 bit C character types (Part of AI285)
133
134         * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
135         (Obsolescent_Warning): New field
136         (Rep_Clause): New local subprogram used to share code. Returns the rep
137         clause for which the name is given in parameter.
138         (Has_Stream_Size_Clause): New routine.
139         (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
140         (Address_Clause): Implementation is now using Rep_Clause.
141         (Alignment_Clause): Idem.
142         (Size_Clause): Idem.
143
144         * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
145         entity in non-Ada 2005 mode and generate warning.
146
147         * par-prag.adb: Add handling of one argument form for pragma Ada_05.
148         (Prag): Code cleanup. Remove old gnat pragma "overriding"
149
150         * sem_prag.adb: Add handling of one argument form for pragma Ada_05
151         (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
152         on the named unit if the pragma is not in the current compilation unit,
153         so that elaboration calls in the current unit can set up an elaboration
154         dependency on the named unit, as needed.
155         (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
156         subprogram as well as for subprograms declared within a package.
157         (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
158         pragma overriding.
159
160         * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
161         to z) to avoid some instances of duplication for Wide_Wide packages.
162
163         * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
164         characters.
165
166         * scn.adb: Char_Literal_Value field is now a Uint
167
168         * scng.adb: Significant rewrite to handle new Ada 2005 features
169         allowing wide and wide wide characters in program text, e.g. for
170         identifiers, as described in AI-285.
171         (Set_Reserved): New procedure, makes setting up keywords cleaner.
172         (Initialize_Scanner): Register the new reserved words of Ada 2005.
173         (Scan): Give support to the new reserved words.
174
175         * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
176         warning notifying that interface, overriding, and synchronized are
177         new reserved words.
178         (P_Pragma): Allow the use of the new reserved word "interface" as
179         a pragma name.
180
181         * gnatls.adb, gnatbind.adb,
182         ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
183         identifiers named "interface" to "SAL_Interface".
184
185         * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
186         (Structured Exception handling).
187         (Gen_Main_C): Idem.
188
189         * bindgen.adb: 
190         (Gen_Main_Ada): Set the default exit code if specified.
191         (Gen_Main_C): Likewise.
192         Part of *DC20-006.
193         (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
194         Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
195
196         * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
197         new -Xnnn switch.
198
199         * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
200         has a collision with the new Ada 2005 "interface" reserved word.
201
202         * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
203         generate a warning notifying that interface, overriding, and
204         synchronized are new reserved words.
205
206         * scans.ads (Token_Type): Addition of the tokens corresponding to the
207         new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
208         and Tok_Synchronized.
209
210         * sem_res.adb (Resolve_Actuals): Change error messages to refer to
211         "dispatching" rather than "primitive" operations, since dispatching
212         calls are now allowed to abstract formal subprograms (which are not
213         primitive).
214         Char_Literal_Value field is now a Uint
215         (Resolve_Slice): If the prefix is an access to an unconstrained array,
216         compute the actual subtype of the designated object to impose the proper
217         index constraints.
218         (Resolve_Selected_Component): Do not insert an access check if the
219         prefix is an access type: such a node is expanded into an explicit
220         dereference, on which the access check is performed anyway. Removes
221         expensive duplicate checks.
222         (Resolve_Call): Use new flag Is_Obsolescent and field
223         Obsolescent_Warning so that pragma Obsolescent works on library
224         subprograms.
225         Add support for wide wide character type
226         (Resolve_Allocator): Replace the error message on wrong null-exclusion
227         value by a warning message.
228         (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
229         as fixed-point, and one of the operands is non-static and universal, it
230         can only be an illegal exponentiation operation, in which case there is
231         no real value to retrieve.
232
233         * exp_strm.adb: Add support for wide wide character type
234         (Build_Elementary_Input_Call): Compute the size of the stream element by
235         querying the rep chain to find the Stream_Attribute attribute value.
236         (Build_Elementary_Write_Call): Ditto.
237
238         * sem_aggr.adb: Char_Literal_Value field is now a Uint
239         Add support for wide wide character type
240         Replace the error messages on wrong null-exclusion value by warnings
241         as described in Ada 2005.
242         (Resolve_Extension_Aggregate): Document the fact that the error
243         message on class-wide expressions in extensions aggregates.
244
245         * sem_case.adb: Add support for wide wide character type
246
247         * sem_ch13.adb: Add support for wide wide character type
248         (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
249
250         * sem_ch3.adb: Add support for wide wide character type
251         (Process_Subtype): If constraint is illegal for the type, set Ekind of
252         now-useless Itype, to prevent cascaded errors on a compiler built
253         without -gnatp.
254
255         * sem_ch8.adb: Add with and use of Sem_Disp.
256         (Analyze_Subprogram_Renaming): Replace unclean uses of
257         Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
258         of Corresponding_Spec to Empty).
259         (Attribute_Renaming): Replace use of Corresponding_Spec with
260         Corresponding_ Formal_Spec and simplify condition.
261         (Use_One_Package): Check that scope of homonym of identifier is defined,
262         before checking whether it is a wrapper package.
263         Add support for wide wide character type
264
265         * sem_eval.adb: Add support for wide wide character type.
266         (Eval_Arithmetic_Op): Check for compile time known signed integer
267         overflow in the non-static case.
268         (Subtypes_Statically_Match): A formal scalar type and its base type do
269         not statically match.
270
271         * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
272         "not in" for test of N_Formal_Subprogram_Declaration (which is now a
273         subtype).
274         (Unit_Declaration_Node): Ditto.
275         (Is_Variable_Prefix):  For the case of an indexed component whose prefix
276         has a packed array type, the prefix has been rewritten into a type
277         conversion. Determine variable-ness from the converted expression.
278         Handle wide wide character cases.
279
280         * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
281
282         * stringt.ads, stringt.adb: Handle full UTF-32 range.
283         Remove ["0A"] from comment, since it can look like a line terminator.
284         Currently we don't permit this, but this is under discussion by the
285         ARG, and it is easy enough to use a different example.
286
287         * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
288         handling UTF-32 encoding for wide wide character.
289         Implement new brackets coding ["hhhhhhhh"]
290         Add UTF-8 encodings for full UTF-32 range
291
292         * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
293
294         * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
295         bit range Add full UTF-32 support.
296         (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
297         notify that constraint error will be raised at run-time
298         because a null value is assigned to a null-excluding object.
299         Remove some obsolete declarations and make Char_Code
300         unsigned.
301
302         * a-except.adb (Rcheck_30): New subprogram. Addition of the message
303         corresponding to CE_Null_Not_Allowed, and adjust the output of all the
304         Rcheck subprograms.
305
306         * checks.adb (Check_Null_Not_Allowed): Replace the error message on
307         wrong null-exclusion value by a warning message.
308         (Enable_Range_Check): Do range check if the prefix is an
309         explicit dereference whose designated object is an unconstrained array.
310         Current algorithm for removing duplicate checks is over-eager in this
311         case.
312
313         * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
314         null-exclusion value by a warning message
315
316         * atree.h, atree.ads, atree.adb: Remove Char_Code field support
317         completely. Add support for Uint2 field
318
319         sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
320         exp_prag.adb: Char_Literal_Value field is now a Uint.
321
322         * exp_util.adb (Insert_Actions): Replace
323         N_Formal_Subprogram_Declaration by
324         N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
325         Char_Literal_Value field is now a Uint.
326
327         * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
328         defined for subprogram renaming declarations. When set, the field
329         indicates the defining entity of a corresponding formal subprogram
330         when the renaming corresponds to a formal subprogram association in an
331         instantiation.
332         (Set_Corresponding_Formal_Spec): New procedure to return
333         Corresponding_Formal_Spec field.
334         Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
335         (which is now a subtype).
336         Char_Literal_Value field is now a Uint
337
338         * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
339         pointer to the base of the dispatch table.
340         Minor changes to comments.
341         (Controlling_Type): New function for determining the tagged type
342         associated with a tagged primitive subprogram.
343         (Expand_Dispatching_Call): Add support for a controlling actual that is
344         directly a value of type Ada.Tag rather than a tagged object.
345
346         * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
347         describing the new layout.
348         (Dispatch_Table): The expander computes the actual array size, allocates
349         the Dispatch_Table record accordingly, and generates code that displaces
350         the base of the record after the Typeinfo_Ptr component. The access to
351         these components is done by means of local functions.
352         (Offset_To_Top): New function.
353         (Typeinfo_Ptr): New function.
354         (Get_TSD): Modified to access the new position of the TSD.
355         (Set_TSD): Modified to save the TSD in its new position.
356
357         * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
358         case of formal abstract subprograms. Add check and message for -gnat05.
359         Update comments.
360
361         * sem_ch12.adb: Add with and use for Sem_Disp.
362         (Analyze_Associations): Minor change from "=" to "in" for use of
363         N_Formal_Subtype_Declaration (which is now a subtype).
364         (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
365         N_Formal_Subtype_Declaration (which is now a subtype).
366         (Analyze_Formal_Subprogram): Add handling for
367         N_Formal_Abstract_Subprogram, marking the formal as abstract and
368         dispatching, setting the controlling status of the formal parameters
369         and result, and issuing an error if there is no controlling type for
370         the formal subprogram.
371         (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
372         which is an unclean use of that field, we set the new field
373         Corresponding_Formal_Spec to make the formal subprogram available to
374         processing in Analyze_Subprogram_Declaration.
375         (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
376         Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
377         Constrained, so that it is is does not statically match its anonymous
378         base type.
379
380         * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
381         abstract formal subprograms in error check for functions returning
382         abstract types. Set scope of new designator for
383         a parameterless subprogram, so that it is available when checking the
384         body for nested subprograms, before full analysis of said body.
385         (Analyze_Subprogram_Body): Warn on inlining bodies with nested
386         subprogram only if inner one comes from source.
387         (Analyze_Function_Call): If the call is given in object notation, the
388         analysis of the name rewrites the node and analyzes it with the proper
389         argument list. After analyzing the name, if the call has been rewritten
390         and the result type is set, no further analysis is needed.
391         (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
392         mark in function specification, in a context where the formals are
393         visible and hide outer homographs.
394
395         * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
396         as the tagged type for the cases of abstract formal subprograms and
397         renamings of those.  Clean up spec comments.
398         (Check_Dispatching_Context): Add error message to indicate "abstract
399         procedure", covering the case of a call to a formal abstract procedure
400         that has statically tagged operands.
401         (Check_Dispatching_Call): Check for the case of an actual given by
402         a tag-indeterminate function call whose type is an ancestor of the
403         containing call's associated tagged type. This situation can occur
404         for inherited primitives with function defaults. In this case we
405         use the tagged type's tag directly as the controlling argument for
406         the calls.
407         (Expand_Call): Name change on call to Expand_Dispatch_Call.
408
409         * sprint.adb (Sprint_Node_Actual): Split
410         N_Formal_Subprogram_Declaration into two alternatives for the new
411         cases N_Formal_Abstract_Subprogram_Declaration and
412         N_Formal_Concrete_Subprogram_Declaration.
413         Char_Literal_Value field is now a Uint.
414
415         * trans.c: Get rid of junk Uint2 reference.
416         Char_Literal_Value field is now a Uint.
417         (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
418         (gigi): Correct third arg to gimplify_body.
419
420         * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
421         (TYPE_LANG_FLAG_0): Check for record or union.
422
423         * treepr.adb: Char_Literal_Value field is now a Uint
424
425         * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
426         UI_From_CC.
427
428         * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
429         Add full UTF-32 support
430         Char_Code is now 32 bits
431
432         * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
433         wide character UTF_32 line terminators.
434         Initialize Main_Source_File to avoid error when no main
435         source is loaded.
436
437         * errout.adb (Finalize): Do not check Num_SRef_Pragmas
438         (Main_Source_File) when no main source has been loaded, to avoid
439         potential crash.
440
441 2005-02-09  Robert Dewar  <dewar@adacore.com>
442
443         * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
444         Fix name of Set routine
445
446         * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
447         fixed packages.
448
449         * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
450         a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
451         fixed packages
452
453         * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
454         forms of Get_Line subprograms for AI-301.
455
456         * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
457         a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
458         a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
459         a-stwima.ads: Minor reformatting.
460
461 2005-02-09  Doug Rupp  <rupp@adacore.com>
462             Thomas Quinot  <quinot@adacore.com>
463
464         * adaint.c, adaint.h
465         [VMS] (to_ptr32): New function.
466         (MAYBE_TO_PTR32): New macro.
467         (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
468         for pointer size.
469         [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
470         [VMS] (#define fork()): Remove since unneccessary.
471         (__gnat_set_close_on_exec): New routine to support
472         GNAT.OS_Lib.Set_Close_On_Exec.
473
474         * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
475         the parent side as close-on-exec so that they are not inherited by the
476         child.
477
478         * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
479         set or clear the FD_CLOEXEC flag on a file descriptor.
480
481 2005-02-09  Eric Botcazou  <ebotcazou@adacore.com>
482             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
483
484         Fix for c330001 - PR ada/19386
485
486         * decl.c: 
487         (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
488         on the field if Pragma Component_Alignment (Storage_Unit).
489         (gnat_to_gnu_entity, case object): Do not treat a renaming that has
490         side-effects as if it were a constant; also make SAVE_EXPR to protect
491         side-effects.
492         (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
493         UNION_TYPE.
494         (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
495         (components_to_record): Test it.
496         Fix improper usage of REFERENCE_CLASS_P.
497
498         * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
499         RECORD_TYPE.
500
501         * utils2.c: Minor reformatting.
502
503         * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
504         handle other cases like RECORD_TYPE.
505
506         * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
507
508 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
509
510         * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
511         component of an array of arrays in an assignment context, and the
512         aggregate has component associations that require sliding on
513         assignment, force reanalysis of the aggregate to generate a temporary
514         before the assignment.
515         (Must_Slide): Make global to the package, for use in Gen_Assign.
516
517 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
518
519         * exp_ch4.adb (Expand_Composite_Equality): If a component is an
520         unchecked union with no inferable discriminants, return a
521         Raise_Program_Error node, rather than inserting it at the point the
522         type is frozen.
523         (Expand_Record_Equality, Component_Equality): Handle properly the case
524         where some subcomponent is an unchecked union whose generated equality
525         code raises program error.
526
527 2005-02-09  Doug Rupp  <rupp@adacore.com>
528
529         * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
530         [VMS] (#define exit hack): Remove.
531
532 2005-02-09  Pascal Obry  <obry@adacore.com>
533             Arnaud Charlet <charlet@adacore.com>
534
535         * init.c (__gnat_initialize): Add a new parameter eh which contains the
536         address of the exception registration. The Win32 version of this
537         routine calls __gnat_install_SEH_handler() to initialize the SEH
538         (Structured Exception Handling) handler.
539         (__gnat_error_handler) [Win32]: Removed. Not needed as we use
540         SEH (Structured Exception Handling) now.
541         (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
542         (__gnat_initialize for ppc-vxworks): Adjust comments and the
543         preprocessor condition protecting the call to the extra eh setup
544         subprogram, which is only available for the ppc target.
545         (__gnat_clear_exception_count): replaced reference to
546         variable taskIdCurrent by call to taskIdSelf(), cleaner.
547
548         * seh_init.c: New file.
549
550         * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
551         (GNATBIND_OBJS): Idem.
552
553         * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
554         routine takes a new parameter (a pointer to the exception registration
555         for the SEH (Structured Exception Handling) support.
556
557         * raise.h: (__gnat_install_SEH_handler): New prototype.
558         Update copyright notice.
559
560         * s-tassta.adb (Task_Wrapper): Declare the exception registration
561         record and initialize it by calling __gnat_install_SEH_handler.
562
563 2005-02-09  Vincent Celier  <celier@adacore.com>
564
565         * make.adb (Gnatmake): Do not fail when the main project has no object
566         directory.
567
568 2005-02-09  Doug Rupp  <rupp@adacore.com>
569
570         * Makefile.in [VMS] (LN,LN_S): Define as cp -p
571         Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
572         [VMS]: Add translations for g-enblsp.adb.
573
574         * s-asthan-vms.adb: Removed.
575         * s-asthan-vms-alpha.adb: Added.
576
577 2005-02-09  Pascal Obry  <obry@adacore.com>
578
579         * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
580         (LIBGNAT_OBJS): Add seh_init.o.
581
582 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
583
584         PR ada/16592
585
586         * Makefile.in: Link all gnat tools with -static-libgcc, since
587         -shared-libgcc is now used by default on some systems (e.g. linux with
588         recent binutils).
589         Remove references to Makefile.prolog/generic, no longer used.
590
591 2005-02-09  Vincent Celier  <celier@adacore.com>
592
593         * prj-makr.adb (Process_Directory): Put file name in canonical case
594         before matching against the patterns.
595         If gnatname has been invoked as <prefix>-gnatname
596         then invoke the compiler as <prefix>-gcc, not just "gcc".
597
598 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
599
600         * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
601         with expansion disabled. The actual subtype is needed among other
602         places when the selected component appears in the context of a loop
603         bound, and denotes a packed array.
604         (Operator_Check): Always use the first subtype in the
605         error message, to avoid the appearance of internal base types.
606         (Transform_Object_Operation): Copy each actual in full
607         to the parameter associations of the constructed call, rather than
608         using the shallow copy mechanism of New_Copy_List. This ensures that
609         the chaining of named associations is done properly.
610         (Complete_Object_Operation): Rewrite node, rather than
611         replacing it, so that we can trace back to the original selected
612         component.
613
614         * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
615         and calls that use object notation, if the called function is not
616         declared  in a withed unit, place the elaboration constraint on the
617         unit in the context that makes the function accessible.
618         (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
619         imposes an elaboration constraint between two packages.
620
621 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
622
623         * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
624         views of a private type after handling its private dependents, to
625         maintain proper stack discipline between entry and exit from the
626         package.
627
628 2005-02-09  Cyrille Comar  <comar@adacore.com>
629
630         * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
631         Minor reformatting.
632
633 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
634
635         * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
636         fields for foreign threads.
637
638 2005-02-09  Doug Rupp  <rupp@adacore.com>
639
640         * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
641         recursion warnings when compiled with -gnatdm.
642
643 2005-02-09  Robert Dewar  <dewar@adacore.com>
644
645         * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
646         Slight fix to documentation of -gnaty with no parameters
647
648         * xr_tabls.ads: Add ??? comment for missing overall comment
649
650         * xsinfo.adb: Make default file name be sinfo.h, since this is what
651         we now use by default.
652
653         * xsnames.adb: Adjust end of file test to look for five space followed
654         by '#' instead of six spaces. The format of xsnames.adb was modified
655         in the last update.
656
657         * a-numeri.ads: Add reference to AI-388 for greek letter pi
658         identifier.
659
660         * clean.adb: Minor reformatting.
661
662         * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
663         gnatname.adb: Minor reformatting
664         Add 2005 to copyright output when utility is run
665
666         * csets.adb: Eliminate obsolete comment
667
668         * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
669         Update comments.
670
671         * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
672
673 2005-02-09  Sergey Rybin  <rybin@adacore.com>
674
675         * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
676         the difference between compact and incompact layout and add the record
677         representation clause to the example illustrating different layouts.
678         Add the description of '-A5' gnatpp option ("align 'AT' keywords in
679         component clauses").
680
681 2005-02-09  Florian Villoing  <villoing@adacore.com>
682
683         * gnat_ugn.texi: Fix typos.
684         Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
685         @file.
686         Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
687         in the generated documentation.
688
689 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
690
691         * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
692         longer supported.
693         Update linker wrapper when linking with non GNU C++.
694
695 2005-02-09  Pascal Obry  <obry@adacore.com>
696
697         * gnat_ugn.texi: 
698         Document the procedure to debug the DllMain routine on Windows.
699         Add note about -funwind-tables and mixed Ada and C/C++ programming in
700         ZCX mode.
701         Document new BIND qualifer /RETURN_CODES=VMS.
702
703 2005-02-09  Ben Brosgol  <brosgol@adacore.com>
704
705         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
706         Edited gnatmetric chapter
707
708 2005-02-09  Robert Dewar  <dewar@adacore.com>
709
710         * gnat_rm.texi: 
711         Changes to document new wide wide character support
712         For AI-285
713         Update documentation on Normalize_Scalars and Initialize_Scalars
714
715 2005-02-09  Pascal Obry  <obry@adacore.com>
716
717         * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
718
719 2005-02-09  Jose Ruiz  <ruiz@adacore.com>
720
721         * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
722         from the VxWorks kernel) that is needed for getting the active
723         priority of the different tasks.
724
725         * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
726         Use a pragma Elaborate_Body in the spec file instead.
727         Noticed by code reading.
728
729 2005-02-09  Thomas Quinot  <quinot@adacore.com>
730
731         * exp_util.ads: Minor correction in comment.
732
733 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
734
735         * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
736         since this procedure is now too complex to be worth inlining.
737
738 2005-02-09  Richard Henderson  <rth@redhat.com>
739
740         * utils.c (gnat_define_builtin): Remove.
741         (gnat_install_builtins): Use build_common_builtin_nodes.
742
743 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
744
745         * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
746         a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
747         a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
748         a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
749         a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
750         a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
751         a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
752         a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
753         a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
754         a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
755         a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
756         a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
757         a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
758         a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
759         a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
760         a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
761         a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
762         a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
763         a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
764         a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
765         a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
766         a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
767         a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
768         a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
769         a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
770         a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
771         a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
772         a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
773         a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
774         a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
775         a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
776         a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
777         a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
778         a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
779         library.
780
781 2005-01-27  Laurent GUERBY <laurent@guerby.net>
782
783         * Makefile.in: Fix a-intnam.ads from previous commit,
784         add 2005 to copyright.
785         * a-intman-rtems.ads: Renamed to...
786         * a-intnam-rtems.ads:
787
788 2005-01-27  Laurent GUERBY <laurent@guerby.net>
789
790         * Makefile.in: Rename GNAT RTEMS specific files.
791         * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,  
792         5rosinte.ads, 5rparame.adb: Replaced by files below.
793         * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
794         s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
795
796 2005-01-27  Joel Sherrill <joel.sherrill@oarcorp.com>
797             Laurent GUERBY <laurent@guerby.net>
798
799         PR ada/19488
800         * 5rosinte.ads: Add No_Key constant.
801         * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
802         * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
803
804 2005-01-26  Laurent GUERBY <laurent@guerby.net>
805
806         PR ada/19414
807         * i-cobol.adb (Valid_Numeric): Handle zero length case.
808         
809 2005-01-20  Richard Henderson  <rth@redhat.com>
810
811         * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
812         a-intnam-linux.ads and system-linux-alpha.ads.
813         * a-intnam-linux-alpha.ads: Remove file.
814         * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
815         * system-linux-alpha.ads: New file.
816
817 2005-01-18  Jakub Jelinek  <jakub@redhat.com>
818
819         PR ada/13470
820         * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
821         set to the new string.
822
823 2005-01-18  Toon Moene  <toon@moene.indiv.nluug.nl>
824
825         * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
826         to True.
827
828 2005-01-18  Richard Henderson  <rth@redhat.com>
829
830         * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
831         THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
832         for alpha-linux.
833         * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
834
835 2005-01-14  Andrew Pinski  <pinskia@physics.uc.edu>
836
837         * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
838         (GCC_ZCX_Support): Likewise.
839
840 2005-01-11  Bastian Blank  <waldi@debian.org>
841
842         * system-linux-s390.ads: Define Preallocated_Stacks.
843         * system-linux-s390x.ads: Likewise.
844
845 2005-01-04  Arnaud Charlet  <charlet@adacore.com>
846
847         * gnat_ugn.texi: Fix texi errors with null variables.
848
849 2005-01-03  Thomas Quinot  <quinot@adacore.com>
850
851         * gen-soccon.c: New utility program to generate g-soccon.ads
852         automatically.
853
854         * socket.c, gsocket.h: Split inclusion of system header files into a
855         gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
856
857         * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
858         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
859         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
860         g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
861         should not be edited by hand anymore, but should be regenerated using
862         gen-soccon.
863
864 2005-01-03  Robert Dewar  <dewar@adacore.com>
865             Ed Schonberg  <schonberg@adacore.com>
866             Vincent Celier  <celier@adacore.com>
867
868         * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
869         on/off, since this is an obsolescent feature, for which we now generate
870         a warning.
871
872         * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
873         warning mode is set and obsolescent usage of this attribute occurs.
874         (Resolve_Access, case 'Access): Note that GNAT uses the context type to
875         disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
876         predates, and partly motivates, the adoption of the AI.
877         Implement new Ada 2005 attribute Mod
878
879         * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
880         attribute Mod.
881
882         * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
883
884         * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
885         pragma restrictions.
886         New entry for Ada 2005 attribute Mod.
887
888         * par-prag.adb: 
889         Add recognition of new pragma Restrictions No_Dependence
890         Recognize restriction No_Obsolescent_Features at parse time
891
892         * bcheck.adb: Add circuitry for checking for consistency of
893         No_Dependence restrictions.
894
895         * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
896         restrictions.
897
898         * restrict.ads, restrict.adb: Add subprograms to deal with
899         No_Dependence restrictions.
900
901         * rtsfind.adb: Check that implicit with's do not violate No_Dependence
902         restrictions.
903
904         * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
905         sem_attr.adb: Add check for new restriction No_Obsolescent_Features
906
907         * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
908         dummy parameter to scng instantiation.
909         Needed for new restriction No_Obsolescent_Features
910
911         * scn.adb: (Obsolescent_Check): New procedure
912         Needed for new restriction No_Obsolescent_Features
913
914         * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
915         specified by AI-285, needed for implementation of AI-388 (adding greek
916         pi to Ada.Numerics).
917         Add new generic formal to scng, needed for new restriction
918         No_Obsolescent_Features.
919
920         * s-rident.ads: Add new restriction No_Obsolescent_Features.
921
922         * ali.ads, ali.adb: Adjustments for reading new No_Dependence
923         restrictions lines.
924         (Scan_ALI): When finding an unexpected character on an R line, raise
925         exception Bad_R_Line, instead of calling Fatal_Error, so that, when
926         Ignore_Errors is True, default restrictions are set and scanning of the
927         ALI file continues with the next line. Also, when Bad_R_Line is raised
928         and Ignore_Errors is True, skip to the end of le line.
929
930         * sem_ch10.adb: Check that explicit with's do not violate
931         No_Dependence restrictions.
932         (Install_Withed_Unit): Add code to implement AI-377 and diagnose
933         illegal context clauses containing child units of instance.
934
935         * sem_prag.adb: Processing and checking for new No_Dependence
936         restrictions.
937         (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
938         analyze and check the External argument.
939
940         * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
941
942 2005-01-03  Robert Dewar  <dewar@adacore.com>
943
944         * atree.adb: Add a fifth component to entities
945         This allows us to add 32 flags and four new fields
946
947         * atree.ads: Add a fifth component to entities
948         This allows us to add 32 flags and four new fields
949
950         * einfo.ads, einfo.adb: Document new fields and new flags now available
951         Add routines for printing new fields
952
953         * treepr.adb: Call routines to print out additional fields if present
954
955 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
956
957         * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
958         gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
959
960         * Makefile.in: Add support to build shared Ada libraries on solaris x86
961         Remove gpr2make, replaced by gprmake.
962         Remove references to gnatmem and libaddr2line.
963         Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
964         (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
965         Add support for specialized version of Ada.Numerics.Aux for Darwin: use
966         a-numaux-darwin.ads and a-numaux-darwin.adb
967         Enable mlib-tgt-lynxos.adb on lynxos.
968
969         * Make-lang.in: Remove rules for gpr2make.
970         When generating sdefault.adb, do not call Relocate_Path
971         on S3 for function Target_Name, as it is not a path.
972         Remove references to gnatmem and libaddr2line.
973
974         * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
975         files.
976
977 2005-01-03  Samuel Tardieu  <tardieu@adacore.com>
978
979         * checks.adb (Apply_Alignment_Check): Generate a warning if an object
980         address is incompatible with its base type alignment constraints when
981         this can be decided statically.
982
983 2005-01-03  Olivier Hainque  <hainque@adacore.com>
984
985         * decl.c (compatible_signatures_p): New function. The intended purpose
986         is to check if two function signatures for a call-site and a callee are
987         compatible enough for the call to be valid. The underlying purpose is
988         to check if a call to a mapped builtin is using the right interface.
989         The current code actually does not check antyhing - this a placeholder
990         for future refinements.
991         (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
992         builtin calls for convention Intrinsic.
993
994         * gigi.h (builtin_decl_for): Declare (new function).
995
996         * utils.c (gnat_install_builtins): Install the target specific builtins.
997         (builtin_decl_for): New function, provide a dummy body for now.
998
999 2005-01-03  Geert Bosch  <bosch@adacore.com>
1000
1001         * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
1002         (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
1003         (Pred): Implement in terms of Succ.
1004         
1005         * trans.c (convert_with_check): Reimplement conversion of float to
1006         integer.
1007
1008 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
1009             Vincent Celier  <celier@adacore.com>
1010
1011         * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
1012         bounds can be negative, and must be declared Int, not Nat.
1013
1014         * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
1015         array is checked after using the index in the array.
1016
1017         * makegpr.adb (Add_Switches): Check if there is a package for the
1018         processor. If there is no package, do not look for switches.
1019
1020 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
1021
1022         * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
1023         generation of predefined stream operations (specs and bodies) should
1024         proceed. Under various restrictions these subprograms must not be
1025         generated.
1026
1027 2005-01-03  Thomas Quinot  <quinot@adacore.com>
1028
1029         * exp_dist.adb: 
1030         Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
1031         amount of PCS-specific code in RACW stubs generation.
1032         (Copy_Specification): Set Etype on copied formal parameter entities, as
1033         this information is needed for PolyORB stubs generation.
1034         (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
1035         variable Dynamic_Async.
1036         (Build_Subprogram_Receiving_Stubs): Make PCS-specific
1037         (Build_RPC_Receiver_Specification): Make generic again, as recent
1038         changes have allowed RPC receivers to have the same profile for both
1039         variants of the PCS.
1040         Reorganise RPC receiver generation to reduce differences between the
1041         structure of GARLIC and PolyORB RPC receivers.
1042         (Add_Receiving_Stubs_To_Declarations): Make this subprogram
1043         PCS-specific.
1044         Simplify elaboration code for RCI packages.
1045
1046         * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
1047         generation to reduce differences between the structure of GARLIC and
1048         PolyORB RPC receivers.
1049
1050         * s-stratt.adb: Fix typo in comment.
1051
1052 2005-01-03  Thomas Quinot  <quinot@adacore.com>
1053
1054         * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
1055         copied from Make_Init_Call).
1056
1057         * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
1058         reads and assignments on a temporary variable declared with appropriate
1059         discriminants.
1060
1061 2005-01-03  Robert Dewar  <dewar@adacore.com>
1062
1063         * i-c.adb (To_C): Raise CE if string is null and Append_Null
1064
1065 2005-01-03  Robert Dewar  <dewar@adacore.com>
1066
1067         * i-cstrin.adb (Update): Do not append a null in form called with a
1068         String. This avoids unintended behavior.
1069
1070 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
1071
1072         PR ada/17527
1073         * init.c: Fix warnings on Free BSD section.
1074
1075 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
1076
1077         PR ada/16949
1078         * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
1079         xsinfo.adb).
1080
1081 2005-01-03  Vincent Celier  <celier@adacore.com>
1082
1083         * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
1084         libraries when Unique_Compile is True (-u switch).
1085         (Gnatmake): ditto.
1086
1087 2005-01-03  Robert Dewar  <dewar@adacore.com>
1088
1089         * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
1090         upper case letter or underscore after W, as allowed by spec.
1091
1092 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
1093
1094         * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
1095         darwin port by using proper type definitions from header files.
1096         Use SIGTERM instead of SIGABRT for SIGADAABORT.
1097
1098 2005-01-03  Robert Dewar  <dewar@adacore.com>
1099
1100         * par.adb: Enhance error message handling for configuration file
1101         pragmas.
1102
1103 2005-01-03  Robert Dewar  <dewar@adacore.com>
1104
1105         * s-arit64.adb (Double_Divide): Put back changes that got accidentally
1106         removed during the previous update (test properly for case of dividing
1107         largest negative number by -1, which generates overflow).
1108
1109 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
1110             Sergey Rybin  <rybin@adacore.com>
1111
1112         * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
1113         to use as the defining identifier for a formal package.
1114         (Remove_Parent): If the instance takes place within (an instance of)
1115         a sibling, preserve private declarations of common parent.
1116
1117 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
1118
1119         * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
1120         to determine whether one of the operands is a fixed-point type for
1121         which a user-defined multiplication or division operation might be
1122         defined.
1123
1124         * sem_res.adb (Valid_Conversion): The legality rules for conversions
1125         of access types are symmetric in Ada 2005: either designated type can
1126         be unconstrained.
1127
1128 2005-01-03  Vincent Celier  <celier@adacore.com>
1129
1130         * s-fileio.adb (Temp_File_Record): Change length of string component
1131         Name from L_tmpnam + 1 to max_path_len + 1.
1132
1133 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
1134
1135         * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
1136         Self_Id.Deferral_Level = 0.
1137         (Do_Pending_Action): Move this function to the spec.
1138
1139         * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
1140         Do_Pending_Action explicitely when needed, in case we're using
1141         No_Abort restrictions.
1142
1143         * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
1144         deferral level since it will not get changed by the generated code.
1145         Keeping a default value of 1 would prevent some operations (e.g.
1146         select or delay) to proceed successfully.
1147
1148 2005-01-03  Ben Brosgol  <brosgol@adacore.com>
1149             Robert Dewar  <dewar@adacore.com>
1150             Cyrille Comar  <comar@adacore.com>
1151
1152         * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
1153         porting guide chapter (vms version).
1154         Revised doc title (removed "for native platforms") and subtitle.
1155         Add discussion on warning flag for obsolescent features. First we
1156         note that it applies to obsolete GNAT features, which was previously
1157         omitted. Second we contrast the behavior with that of the new
1158         Ada 2005 AI-368 restriction No_Obsolescent_Features.
1159         Preliminary rewriting of GNAT & libraries chapter in order to take
1160         into account default project locations & new project manager
1161         capabilities.
1162
1163 2005-01-03  Robert Dewar  <dewar@adacore.com>
1164
1165         * cstand.adb (Create_Operators): Clean up format and documentation of
1166         unary and binary operator result tables. No change in code, just
1167         reformatting and addition of comments.
1168
1169         * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
1170         sem_ch2.adb: Minor reformatting
1171
1172         * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
1173         sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
1174         comments for Tree_Read and Tree_Write.
1175
1176 2005-01-03  Pascal Obry  <obry@adacore.com>
1177
1178         * exp_attr.ads: Minor reformatting.
1179
1180 2005-01-03  Romain Berrendonner  <berrendo@adacore.com>
1181
1182         * comperr.adb (Compiler_Abort): Add specialized message for GAP
1183         versions.
1184
1185 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
1186
1187         * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
1188         whether the ancestor type is private, as may be the case with nested
1189         instantiations.
1190
1191 2004-12-30  Sohail Somani <sohail@sohailsomani.com>
1192
1193         PR ada/19128
1194         * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
1195
1196 2004-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
1197
1198         * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
1199         * utils2.c (build_unary_op): Likewise.
1200
1201 2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1202
1203         * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
1204
1205 2004-12-19  Richard Henderson  <rth@redhat.com>
1206
1207         * trans.c (gigi): Update gimplify_body call.
1208
1209 2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
1210
1211         * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
1212
1213 2004-12-07  Ed Falis  <falis@adacore.com>
1214
1215         * s-intman-vxworks.adb (Notify_Exception): removed useless check for
1216         current task being suspended.
1217
1218         * init.c (__gnat_clear_exception): added to reset VxWorks exception
1219         count.
1220         (__gnat_map_signal): removed test for current task being suspended.
1221
1222 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
1223
1224         * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
1225         from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
1226         targets (such as AAMP).
1227
1228 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
1229
1230         * atree.adb (Visit_Itype): Create a new name for the generated itype,
1231         because the back-end may otherwise treat it as a redefinition of the
1232         old symbol.
1233
1234 2004-12-07  Eric Botcazou  <ebotcazou@adacore.com>
1235
1236         * back_end.adb (Scan_Back_End_Switches): Accept --param.
1237
1238         * lang-specs.h: Accept --param.
1239
1240 2004-12-07  Vincent Celier  <celier@adacore.com>
1241
1242         * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
1243         package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
1244         Current_Body_Suffix => Ada_Body_Suffix).
1245         Take into account Externally_Built attribute.
1246
1247         * clean.adb (In_Extension_Chain): Always return False when one of the
1248         parameter is No_Project.
1249         (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
1250         Ada_Language_Index).
1251         (Gnatclean): Adapt to change in package Prj.Pars (no parameter
1252         Process_Languages for procedure Parse).
1253
1254         * gnatcmd.adb (Carg_Switches): New table.
1255         (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
1256         Adapt to name changes in package Prj (Current_Spec_Suffix =>
1257         Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
1258
1259         * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
1260         Header_Num and function Hash are now declared in package Prj,
1261         not Prj.Com.
1262
1263         * prj.adb (Suffix_Of): New function.
1264         (Set (Suffix)): New procedure.
1265         (Hash): One function moved from Prj.Com
1266         (Is_Present, Language_Processing_Data_Of): New functions
1267         (Set): Two new procedures
1268         (Add_Language_Name, Display_Language_Name): New procedures
1269
1270         * prj.ads: (Suffix_Of): New function
1271         (Set (Suffix)): New procedure
1272         Add several types and tables for multi-language support.
1273         (Header_Num): Type moved from Prj.Com
1274         (Hash): Two functions moved from Prj.Com
1275         (Is_Present, Language_Processing_Data_Of): New functions
1276         (Set): Two new procedures
1277         (Add_Language_Name, Display_Language_Name): New procedures
1278         (Naming): Component name changes:
1279         Current_Spec_Suffix => Ada_Spec_Suffix,
1280         Current_Body_Suffix => Ada_Body_Suffix. Add new components:
1281         Impl_Suffixes, Supp_Suffixes.
1282         (Project_Data): New components: Externally_Built, Supp_Languages,
1283         First_Language_Processing, Supp_Language_Processing, Default_Linker,
1284         Default_Linker_Path.
1285
1286         * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
1287         new package Language_Processing with its attributes (Compiler_Driver,
1288         Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
1289         Binder_Driver, Default_Linker).
1290
1291         * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
1292         (Header_Num): Type moved to package Prj
1293
1294         * prj-env.adb: Adapt to name changes in package Prj
1295         (Current_Spec_Suffix => Ada_Spec_Suffix,
1296         Current_Body_Suffix => Ada_Body_Suffix).
1297
1298         * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
1299         default to the project path, except the "-" is one of the directories
1300         in env var ADA_PROJECT_PATH.
1301         (Current_Project_Path): Global variable, replacing Project_Path
1302         that was in the body of Prj.Part.
1303         (Project_Path): New function
1304         (Set_Project_Path): New procedure
1305         Initialize Current_Project_Path during elaboration of the package
1306         Remove dependency on Prj.Com, no longer needed
1307
1308         * prj-ext.ads (Project_Path): New function
1309         (Set_Project_Path): New procedure
1310
1311         * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
1312         suffix is defined for language <lang>.
1313         (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
1314         accessing directly the components of Naming.
1315         (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
1316         Reorganise of this package.
1317         Break procedure Check in several procedures.
1318
1319         * prj-nmsc.ads: Replace all procedures (Ada_Check,
1320         Other_Languages_Check and Language_Independent_Check) with a single
1321         procedure Check.
1322
1323         * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
1324         Process_Languages, no longer needed.
1325
1326         * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
1327         Current_Project_Path.
1328         Remove elaboration code, moved to the body of Prj.Ext
1329         Use new function Prj.Ext.Project_Path instead of old variable
1330         Project_Path.
1331         (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
1332         When comparing with project paths on the stack, first put the resolved
1333         path in canonical case.
1334         (Parse_Single_Project): Set the path name of the project file in the
1335         tree to the normalized path.
1336
1337         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
1338         parameter Process_Languages, no longer needed.
1339         (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
1340         Other_Languages_Check.
1341
1342         * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
1343         to store the resolved canonical path of the project file.
1344         Remove dependency to Prj.Com, no longer needed
1345
1346         * prj-util.adb: Adapt to name changes in package Prj
1347         (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
1348         Ada_Body_Suffix).
1349
1350         * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
1351         Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
1352         Externally_Built, Include_Option, Language_Processing.
1353
1354         * makegpr.adb: Numerous changes due to changes in packages
1355         Prj and Prj.Nmsc.
1356
1357         * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
1358         default to the project path, except whe "-" is one of the directories
1359         in env var ADA_PROJECT_PATH.
1360         (Gnatls): In verbose mode, add the new section "Project Search Path:"
1361
1362 2004-12-07  Robert Dewar  <dewar@adacore.com>
1363
1364         * debug.adb: Document that -gnatdA automatically sets -gnatR3m
1365
1366         * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
1367         set -gnatR3m mode.
1368
1369         * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
1370         flag. No longer needed now that we handle this in gnat1drv.adb.
1371
1372         * repinfo.ads: Minor reformatting
1373
1374 2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1375             Olivier Hainque  <hainque@adacore.com>
1376             Eric Botcazou  <ebotcazou@adacore.com>
1377
1378         * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
1379         TYPE_SIZE_UNIT of result type if SIZE is not specified.
1380         (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
1381         of a bitfield, which we know is useless and causes trouble because of
1382         alignment implications.
1383
1384         * utils.c (create_var_decl): Set DECL_COMMON again on targets without
1385         BSS sections.
1386         (process_attributes): Clear DECL_COMMON again when a section attribute
1387         is present.
1388         (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
1389         SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
1390         (create_field_decl): Special case ADDRESSABLE negative to mean
1391         "no bitfield creation", to be used by make_aligning_type. Don't
1392         restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
1393         fields claimed addressable still have to be bitfields. Use
1394         value_factor_p instead of a raw binop construction to check for the
1395         position's alignment.
1396
1397 2004-12-07  Geert Bosch  <bosch@adacore.com>
1398
1399         * eval_fat.adb: Revert previous change.
1400
1401 2004-12-07  Thomas Quinot  <quinot@adacore.com>
1402             Ed Schonberg  <schonberg@adacore.com>
1403
1404         * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
1405         with an implicit dereference as its prefix, use
1406         Insert_Explicit_Dereference instead of merely rewriting the prefix into
1407         an explicit dereference. This ensures that a reference to the original
1408         prefix is generated, if appropriate.
1409
1410         * sem_util.adb (Insert_Explicit_Dereference): When an implicit
1411         dereference is rewritten to an explicit one, generate a reference to
1412         the entity denoted by its prefix using the original prefix node, so
1413         the dereference can be properly recorded as a read of the denoted
1414         access value, if appropriate.
1415
1416         * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
1417         emitting 'assigned but never read' warning on a variable on the basis
1418         that it has an access type.
1419         (Check_References): Emit unreferenced warning when the scope is a
1420         subprogram body.
1421
1422 2004-12-07  Robert Dewar  <dewar@adacore.com>
1423             Ed Schonberg  <schonberg@adacore.com>
1424
1425         * exp_ch6.adb (Expand_Call): Add comment on handling of back end
1426         intrinsic
1427
1428         * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
1429         leaving call unchanged.
1430         This deals with the case where the pragma Import specified
1431         an external name, to be handled by the back end.
1432
1433         * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
1434         subprogram which is Imported with convention Intrinsic if an
1435         External_Name argument is specified.
1436         (Process_Import_Or_Interface): Properly diagnose link name argument.
1437         (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
1438         with Sem_Ch6.Cannot_Inline.
1439         (Process_Inline): Provide separate warning for inapplicable inline
1440         pragma.
1441         (Cannot_Inline): Reject subprograms that have an at_end handler, so that
1442         treatment is uniform on different targets.
1443
1444 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
1445
1446         * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
1447         construct is rewritten, preserve end label to permit source navigation.
1448
1449 2004-12-07  Thomas Quinot  <quinot@adacore.com>
1450
1451         * exp_dist.adb (Specific_Build_General_Calling_Stubs,
1452         Specific_Build_Stub_Target): New subprograms.
1453         (Build_Subprogram_Calling_Stubs): Make this procedure independent from
1454         the PCS implementation used, using the above PCS-customized subprograms.
1455         Minor reformatting.
1456         (PolyORB_Support.Helpers): New subunit containing supporting subprograms
1457         for generation of DSA code targeted to the PolyORB PCS.
1458         (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
1459         implementation of the partition communication subsystem in ancillary
1460         subprograms.
1461         (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
1462         PolyORB_Support.Build_Stub_Type): New subrograms containing the
1463         PCS-specific part of Add_Stub_Type.
1464         (Insert_Partition_Check): Use runtime library function to perform
1465         E.4(19) check.
1466
1467         * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
1468         (RE_Same_Partition): New entity, from s-parint.
1469
1470         * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
1471
1472 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
1473
1474         * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
1475         Output the copyright message on a separate line from the version
1476         message.
1477
1478 2004-12-07  Joel Brobecker  <brobecker@adacore.com>
1479
1480         * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
1481         compile-time warning.
1482
1483 2004-12-07  Robert Dewar  <dewar@adacore.com>
1484
1485         * g-regpat.adb: (Match): Change a misuse of or to or else
1486
1487 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
1488
1489         * lib-xref.adb:
1490         (Generate_Reference): Handle properly a reference to an entry formal,
1491          when an accept statement has a pragma Unreferenced for it.
1492
1493         * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
1494         and the Has_Pragma_Unreferenced flag for each formal before analyzing
1495         the body, to ensure that warnings are properly emitted for each accept
1496         statement of a given task entry.
1497
1498 2004-12-07  Vasiliy Fofanov  <fofanov@adacore.com>
1499
1500         * Makefile.in: Add support for foreign threads on VMS.
1501
1502 2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1503
1504         * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
1505         Remove.
1506         (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
1507
1508         * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
1509
1510         * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
1511         exception.
1512         (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
1513
1514 2004-12-07  Robert Dewar  <dewar@adacore.com>
1515
1516         * nlists.adb (Prepend_Debug): Remove parameters and nest within
1517         Prepend.
1518         (Remove_Next_Debug): Same fix
1519
1520         * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
1521         maintain back pointers now, though we did not used to, and comments
1522         were out of date).
1523         (Prepend): Remove pragma Inline.
1524         (Remove_Next): Same cleanup
1525
1526 2004-12-07  Thomas Quinot  <quinot@adacore.com>
1527
1528         * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
1529         used to record an implicit dereference as a read operation on its
1530         prefix when operating under -gnatc. Necessary to avoid spurious
1531         'variable assigned but never read' warnings in that mode.
1532         (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
1533         is a non-overloaded implicit dereference, call the above subprogram to
1534         ensure proper recording of references.
1535
1536 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
1537
1538         * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
1539         to be resolved later as part of Analyze_Iteration_Scheme's call to
1540         Make_Index.
1541
1542 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
1543
1544         * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
1545         prefix is not a scalar type, place error message on prefix, not on
1546         type entity.
1547
1548 2004-12-07  Bernard Banner  <banner@adacore.com>
1549
1550         * vxaddr2line.adb: Add support for x86 vxworks
1551
1552 2004-12-07  Thomas Quinot  <quinot@adacore.com>
1553
1554         * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
1555         documentation of the behaviour of these functions when passed an IP
1556         address that has no record in the system hosts database and no reverse
1557         record in the DNS.
1558
1559         * cstand.adb, a-tags.ads: Fix typos in comment.
1560
1561 2004-12-07  Robert Dewar  <dewar@adacore.com>
1562
1563         * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
1564         exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
1565         sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
1566         s-poosiz.ads: Minor reformatting
1567
1568         * make.adb: Minor reformatting
1569         Add some ??? comments asking for more comments
1570
1571         * s-poosiz.adb: Minor reformatting
1572         Add comments on alignment requirement
1573
1574         * sinfo.ads: Remove obsolete comment and fix typo.
1575
1576 2004-12-07  Vincent Celier  <celier@adacore.com>
1577             Sergey Rybin  <rybin@adacore.com>
1578
1579         * gnat_ugn.texi: Update the section "The GNAT Driver and Project
1580         Files" with the new tool and package names.
1581         Reformatting to suppress most of the warnings for line too long
1582         Document the new section "Project Search Path:" in the output of
1583         gnatls -v.
1584         Add gnatmetric section
1585
1586 2004-12-07  Vincent Celier  <celier@adacore.com>
1587
1588         * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
1589         -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
1590         and -eit to -ept. Added qualifier
1591         /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
1592
1593 2004-11-27  Andreas Schwab  <schwab@suse.de>
1594
1595         * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
1596
1597 2004-11-25  Arnaud Charlet  <charlet@adacore.com>
1598
1599         * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
1600         internal implementation unit GNAT.Sockets.Thin,
1601         as their usage for sockets is non-portable (using the read and write
1602         functions from the system runtime library is fine on UNIX but won't
1603         work under Windows).
1604
1605         * mingw32.h: Update copyright notice.
1606
1607 2004-11-25  Arnaud Charlet  <charlet@adacore.com>
1608
1609         * ada-tree.h: Minor reformatting of previous change to avoid lines
1610         longer than 79 characters.
1611
1612 2004-11-25  Olivier Hainque  <hainque@adacore.com>
1613
1614         * tb-gcc.c: GCC infrastructure based implementation of
1615         __gnat_backtrace.
1616
1617 2004-11-24  Steven Bosscher  <stevenb@suse.de>
1618
1619         * misc.c (gnat_post_options): Don't clear
1620         flag_inline_functions.
1621
1622 2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
1623
1624         PR ada/17986
1625         * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
1626         tree.
1627
1628 2004-11-21  Andreas Jaeger  <aj@suse.de>
1629
1630         * stylesw.adb: Change Style_Check_Subprogram_Order to
1631         Style_Check_Order_Subprograms.
1632
1633 2004-11-18  Arnaud Charlet  <charlet@adacore.com>
1634
1635         * adaint.h, adaint.c
1636         (__gnat_portable_spawn): Fix cast of spawnvp third parameter
1637         to avoid warnings.
1638         Add also a cast to kill another warning.
1639         (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
1640         parameter with the priority class of the parent process instead of
1641         always using the NORMAL_PRIORITY_CLASS.
1642         (__gnat_dup): New function.
1643         (__gnat_dup2): New function.
1644         (__gnat_is_symbolic_link): Enable the effective body of this
1645         function when __APPLE__ is defined.
1646
1647         * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
1648         Update comments.
1649
1650 2004-11-18  Olivier Hainque  <hainque@adacore.com>
1651
1652         * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
1653         address of which may be used to represent "others" and "all others"
1654         choices in exception tables, instead of the current harcoded
1655         (void *)0 and (void *)1.
1656         (Setup_Exception): Do nothing in the GNAT SJLJ case.
1657
1658         * gigi.h (others_decl, all_others_decl): New decls representing the
1659         new Others_Value and All_Others_Value objects.
1660         (struct attrib): Rename "arg" component as "args", since GCC expects a
1661         list of arguments in there.
1662
1663         * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
1664         corresponding objects exported by a-exexpr, instead of hardcoded dummy
1665         addresses.
1666
1667         * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
1668         others_decl and all_others_decl instead of hardcoded dummy addresses
1669         to represent "others" and "all others" choices, which is cleaner and
1670         more flexible with respect to the possible eh pointer encoding policies.
1671
1672         * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
1673         (process_attributes): Account for the naming change of the "args"
1674         attribute list entry component.
1675
1676         * decl.c (build_attr_list): Rename into prepend_attributes to allow
1677         cumulating attributes for different entities into a single list.
1678         (gnat_to_gnu_entity): Use prepend_attributes to build the list of
1679         attributes for the current entity and propagate first subtype
1680         attributes to other subtypes.
1681         <E_Procedure>: Attribute arguments are attr->args and not
1682         attr->arg any more.
1683         (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
1684         argument provided, as this is what GCC expects. Use NULL_TREE instead
1685         of 0 for trees.
1686
1687 2004-11-18  Robert Dewar  <dewar@adacore.com>
1688
1689         * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
1690         Minor reformatting througout (including new function specs)
1691         Add ??? comments asking for clarification.
1692
1693 2004-11-18  Thomas Quinot  <quinot@adacore.com>
1694
1695         * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
1696         incomplete duplicate implementation of this subprogram from butil.
1697
1698 2004-11-18  Thomas Quinot  <quinot@adacore.com>
1699
1700         * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
1701         procedures factors the common processing for building an RPC receiver
1702         for an RCI package or an RACW type.
1703         Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
1704         Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
1705         (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
1706         in use.
1707         (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
1708         Add_RACW_Features.
1709         (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
1710         Add_RAST_Features.
1711         (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
1712         distribution subprogram identifiers that are either subprogram numbers
1713         or strings.
1714         (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
1715         string distribution identifiers assigned to a given subprogram.
1716         (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
1717         (Add_RAS_Dereference_TSS): Add comments.
1718         (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
1719         is not referenced yet because it will be used by the PolyORB DSA
1720         implementation.
1721         (Insert_Partition_Check): Remove fossile code.
1722         (First_RCI_Subprogram_Id): Document this constant.
1723         (Add_RAS_Access_TSS): Correct the setting of the Etype of the
1724         RAS_Access TSS.
1725         (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
1726         replaced with calls to Get_Library_Unit_Name_String. Previously there
1727         were several instances of the same code in different locations in the
1728         compiler; this checkin completes the replacement of all of these
1729         instances with calls to a common subprogram.
1730         Minor reformatting.
1731
1732         * sem_dist.adb: Remove comment noting that RPC receiver generation
1733         should be disabled for RACWs that implement RASs.
1734         (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
1735
1736         * sem_util.ads, sem_util.adb (Has_Stream): New function
1737         (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
1738         qualified name of a library unit into the name buffer.
1739         (Note_Possible_Modification): Generate a reference only
1740         if the context comes from source.
1741
1742         * snames.ads (PCS_Names): New subtype corresponding to names of
1743         supported implementations of the Partition Communication Subsystem
1744         (PCS) (i.e. the runtime library support modules for the distributed
1745         systems annex).
1746
1747 2004-11-18  Robert Dewar  <dewar@adacore.com>
1748             Ed Schonberg  <schonberg@adacore.com>
1749
1750         * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
1751         (Has_Rep_Pragma): New function
1752         (Has_Attribute_Definition_Clause): New function
1753         (Record_Rep_Pragma): Moved here from sem_ch13.adb
1754         (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
1755
1756         * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
1757
1758         * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
1759         (Expand_Pragma_Psect_Object): New procedure
1760         These procedures contain the revised and cleaned up processing for
1761         these two pragmas. This processing was formerly in Sem_Prag, but
1762         is more appropriately moved here. The cleanup involves making sure
1763         that the pragmas are properly attached to the tree, and that no
1764         nodes are improperly shared.
1765
1766         * sem_prag.adb: Move expansion of Common_Object and Psect_Object
1767         pragmas to Exp_Prag, which is more appropriate.
1768         Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
1769         check for duplicates Remove use of Is_Psected flag, no longer needed.
1770         Use new Make_String_Literal function with string.
1771
1772         * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
1773         that are functions return universal values, that have to be converted
1774         to the context type.
1775         Use new Make_String_Literal function with string.
1776         (Get_Stream_Convert_Pragma): New function, replaces the use of
1777         Get_Rep_Pragma, which had to be kludged to work in this case.
1778
1779         * freeze.adb: Use new Has_Rep_Pragma function
1780
1781         * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
1782         function with string.
1783         Use new Has_Rep_Pragma function.
1784
1785         * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
1786         string argument.
1787
1788 2004-11-18  Robert Dewar  <dewar@adacore.com>
1789
1790         * errout.ads, errout.adb: (First_Sloc): New function
1791
1792         * par-ch5.adb (P_Condition): Check for redundant parens is now a style
1793         check (-gnatyx) instead of being included as a redundant construct
1794         warning.
1795
1796         * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
1797         Style_Check_Order_Subprograms.
1798
1799         * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
1800         stylesw.adb: Add Style_Check_Xtra_Parens
1801
1802         * usage.adb: Add line for -gnatyx (check extra parens)
1803
1804         * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
1805
1806 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
1807             Robert Dewar  <dewar@adacore.com>
1808
1809         * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
1810         discriminant of a constrained subtype, analyze the copy of the
1811         corresponding constraint, because in some cases it may be only
1812         partially analyzed.
1813         Removes long-lived ??? comments.
1814
1815         * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
1816         handled controlled or secondary-stack expressions within the
1817         iteration_scheme of a loop.
1818
1819         * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
1820         bounds that may contain functions calls, to prevent memory leaks when
1821         the bound contains a call to a function that uses the secondary stack.
1822         (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
1823         generate temporaries for loop bounds that might contain function calls
1824         that require secondary stack and/or finalization actions.
1825
1826         * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
1827         selected component and the selector is overloadable (not just a
1828         function) treat as function call, Analyze_Call will disambiguate if
1829         necessary.
1830         (Analyze_Selected_Component): Do not generate an actual subtype for the
1831         selected component if expansion is disabled. The actual subtype is only
1832         needed for constraint checks.
1833         (Analyze_Allocator): If restriction No_Streams is set, then do
1834         not permit objects to be declared of a stream type, or of a
1835         composite type containing a stream.
1836
1837         * restrict.ads: Remove the a-stream entry from Unit_Array, since
1838         No_Streams no longer prohibits with'ing this package.
1839
1840         * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
1841         discriminants, but the parent base has unknown discriminants, there is
1842         no discriminant constraint to inherit. Such a discrepancy can arise
1843         when the actual for a formal type with unknown discriminants is a
1844         similar private type whose full view has discriminants.
1845         (Analyze_Object_Declaration): If restriction No_Streams is set, then
1846         do not permit objects to be declared of a stream type, or of a
1847         composite type containing a stream.
1848
1849 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
1850
1851         * exp_dbug.ads: Update documentation to reflect simpler encoding for
1852         protected operations.
1853
1854         * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
1855         generated name, it complicates decoding in gdb and hinders debugging
1856         of protected operations.
1857         (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
1858         flag for the protected entry barrier function.
1859         (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
1860         flag for the protected entry function.
1861
1862 2004-11-18  Nicolas Setton  <setton@adacore.com>
1863
1864         * expect.c: Define __unix__ when __APPLE__ is defined.
1865
1866         * Makefile.in: Inform the value of the variable GMEM_LIB in the
1867         Darwin-specific section.
1868
1869         * lang-specs.h: Change the placement of the %1 marker.
1870         Works around the fact that gcc adds -fPIC by default under Darwin.
1871
1872 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
1873
1874         * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
1875         type of the object with the packed array type, set the Analyzed flag
1876         on the object if it is an entity or simple indexed component, to avoid
1877         spurious type errors.
1878
1879 2004-11-18  Gary Dismukes  <dismukes@adacore.com>
1880
1881         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
1882         gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
1883         separate line from the version message.
1884
1885 2004-11-18  Ed Falis  <falis@adacore.com>
1886
1887         * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
1888         vthreads.
1889         (init_float): Eliminate initialization of floating point status for
1890         AE653. The instructions have no effect for vThreads.
1891
1892 2004-11-18  Vincent Celier  <celier@adacore.com>
1893
1894         * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
1895         gnatbind is invoked with -shared.
1896
1897 2004-11-18  Jose Ruiz  <ruiz@adacore.com>
1898
1899         * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
1900         for Detect_Blocking which is redundant with the check done within the
1901         procedure Protected_Single_Entry_Call.
1902         (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
1903         Detect_Blocking which is redundant with the check done within the
1904         procedure Protected_Single_Entry_Call.
1905
1906 2004-11-18  Vincent Celier  <celier@adacore.com>
1907
1908         * makegpr.adb (Compile): Put the compiling switches (in package
1909         Compiler and on the command line) immediately after "-c", instead of
1910         at the end of the command line invocation of the compiler, when
1911         compiling a non-Ada file.
1912         (Build_Global_Archive): When there is no need to rebuild the archive,
1913         set Global_Archive_Exists, so that the archive is passed to the linker
1914         if one is needed.
1915
1916 2004-11-18  Robert Dewar  <dewar@adacore.com>
1917             Sergey Rybin  <rybin@adacore.com>
1918
1919         * gnat_ugn.texi:
1920         Remove extra paren check from list of checks for redundant constructs
1921         Add documentation of new -gnatyx style check (check extra parens)
1922         Remove paragraph about gnatelim debug options.
1923
1924         * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
1925         objects rather than forbidding dependencies on the package Ada.Streams.
1926
1927         * sinfo.ads: Add ??? note that we should document pragmas passed to
1928         back end.
1929
1930         * g-expect.ads: Fix a few typos in the comments.
1931
1932 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
1933
1934         * misc.c (gnat_handle_option): Use %< and %> for quoting in
1935         warning message.
1936
1937 2004-11-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1938
1939         * a-numaux-x86.adb (Tan): Fix fdivp syntax.
1940
1941 2004-11-07  Andreas Schwab  <schwab@suse.de>
1942
1943         * Makefile.in (install-gnatlib): Remove spurious hyphen.
1944
1945 2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
1946
1947         PR ada/18228
1948         * Makefile.in (darwin): Set soext to .dylib.
1949
1950 2004-10-26  Vincent Celier  <celier@gnat.com>
1951             Thomas Quinot   <quinot@act-europe.fr>
1952
1953         * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
1954         (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
1955         there is no use of GNAT.Sockets.Constants.
1956         Remove remaining pragma Import for C_Write
1957         Remove C_Read and C_Write from internal implementation unit
1958         GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
1959         the read and write functions from the system runtime library is fine
1960         on UNIX but won't work under Windows).
1961
1962         * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
1963         (Check_Selector): Use C_Recv instead of C_Read.
1964         Selectors are the GNAT.Sockets abstraction to perform a select()
1965         call on a set of descriptors. To allow abortion of an ongoing
1966         select operation, some data is written to a dedicated socket that
1967         is always monitored.
1968         Under Windows, the write and read library functions cannot operate
1969         on sockets, so we need to use send and recv instead, which is portable
1970         across all supported platforms.
1971
1972         * g-socthi.ads: Remove C_Read and C_Write from internal implementation
1973         unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
1974         (using the read and write functions from the system runtime library is
1975         fine on UNIX but won't work under Windows).
1976
1977 2004-10-26  Nicolas Setton  <setton@act-europe.fr>
1978
1979         * mlib-tgt-darwin.adb: New file.
1980
1981         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1982         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
1983         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
1984         mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
1985         subprogram body.
1986
1987         * Makefile.in: Add support for building shared libraries under Darwin.
1988         (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
1989         the low level EH init subprogram to be called from __gnat_initialize.
1990
1991         * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
1992         indicates which options to pass to the archive indexer.
1993
1994         * mlib-utl.adb: Add support for calling ranlib with additional
1995         options. This is needed for instance under Mac OS X.
1996         (Ranlib_Options): New global variable, used to store the potential
1997         options to pass to ranlib.
1998         (Ar): Use Ranlib_Options when spawning ranlib.
1999         (Initialize): Set the value of ranlib option.
2000
2001 2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
2002
2003         * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
2004         instead of 8K, to reflect the real potential needs for stack-checking
2005         in the ZCX case.
2006
2007 2004-10-26  Pascal Obry  <obry@gnat.com>
2008
2009         * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
2010
2011         * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
2012         Windows only the initial thread stack size can be set so it is good to
2013         start we a low stack size.
2014         The OS will adjust the size as needed.
2015
2016 2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
2017             Nicolas Setton  <setton@act-europe.fr>
2018
2019         * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
2020         "__unix__" instead of "unix".
2021         The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
2022         sections were just mistakenly ignored. The former is
2023         implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
2024         Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
2025         of hpux. This prevents an unwanted definition of the symbol
2026         convert_addresses in adaint.o.
2027
2028 2004-10-26  Gary Dismukes  <dismukes@gnat.com>
2029
2030         * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
2031         compatibility with type Unwind_Word on 16-bit targets such as AAMP.
2032
2033 2004-10-26  Cyrille Comar  <comar@act-europe.fr>
2034
2035         * a-filico.ads, a-filico.adb: fix incorrect header.
2036
2037 2004-10-26  Javier Miranda  <miranda@gnat.com>
2038
2039         * a-ststio.ads: Fix typo in identifier
2040
2041 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
2042
2043         * sem_ch4.adb: Minor reformatting.
2044
2045 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
2046
2047         * checks.adb (Expr_Known_Valid): If floating-point validity checks are
2048         enabled, check the result of unary and binary operations when the
2049         expression is the right-hand side of an assignment.
2050
2051 2004-10-26  Vincent Celier  <celier@gnat.com>
2052
2053         * clean.adb (Delete): Do not output warnings when in quiet output and
2054         not in verbose mode.
2055         (Force_Deletions): New Boolean flag, defaulted to False
2056         (Delete): Only delete a file if it is writable, and when
2057         Force_Deletions is True.
2058         (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
2059         (Usage): Line for new switch -f
2060         (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
2061         own.
2062
2063 2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
2064
2065         * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
2066         JM type only if its size matches that of the wrapper.  When a size is
2067         prescribed and the field is not aliased, remove the wrapper of a JM
2068         type only if the size is not greater than that of the packed array.
2069         (gnat_to_gnu_entity): Change the extension of packed array wrappers
2070         from LJM to JM.
2071
2072 2004-10-26  Geert Bosch  <bosch@gnat.com>
2073
2074         * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
2075         (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
2076         (Pred): Implement in terms of Succ.
2077
2078 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
2079
2080         * exp_aggr.adb (Safe_Component): An aggregate component that is an
2081         unchecked conversion is safe for in-place use if the expression of the
2082         conversion is safe.
2083         (Expand_Array_Aggregate): An aggregate that initializes an allocator may
2084         be expandable in place even if the aggregate does not come from source.
2085         (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
2086         designated object of an allocator in place, rather than building it
2087         first on the stack. The previous scheme forces a full copy of the array,
2088         and may be altogether unsusable if the size of the array is too large
2089         for stack allocation.
2090
2091 2004-10-26  Robert Dewar  <dewar@gnat.com>
2092
2093         * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
2094         compares if the component is atomic.
2095
2096         * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
2097         array assignment if the component type is atomic.
2098
2099 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
2100             Eric Botcazou  <ebotcazou@act-europe.fr>
2101
2102         * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
2103         is aliased and is a by_reference type, do not pass by copy.
2104         (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
2105         detect whether the call is in the right side of an assignment or
2106         the expression of an object declaration.  Recurse on component
2107         association within aggregates.
2108         Call it in the condition that determines whether the temporary is
2109         necessary for correct stack-checking.
2110
2111 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
2112
2113         * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
2114         RACW_Type, used in the PolyORB version.
2115         Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
2116         version and the GARLIC version.
2117
2118         * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
2119         Rename RCI_Info to RCI_Locator for better consistency between the
2120         GARLIC and PolyORB versions of the distributed systems annex.
2121         (DSA_Implementation_Name): This enumeration lists the possible
2122         implementations of the Partition Communication Subsystem for the
2123         Distributed Systems Annex (DSA). The three available implementations
2124         are the dummy stub implementation (No_DSA), and two versions based on
2125         two different distribution runtime libraries: GARLIC and PolyORB. Both
2126         the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
2127         technology.
2128         Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
2129         that organization.
2130
2131         * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
2132         between the GARLIC and PolyORB versions of the distributed systems
2133         annex.
2134         Remove RE_Unbounded_Reclaim_Pool since it is unused.
2135
2136 2004-10-26  Gary Dismukes  <dismukes@gnat.com>
2137
2138         * gnat1drv.adb: Suppress calling the back end when
2139         Frontend_Layout_On_Target is true.
2140
2141 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
2142
2143         * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
2144         Set_Read_Only): New subprograms.
2145         These new routines allow the user to set or unset the Owner execute
2146         and Owner write permission flags on a file.
2147
2148         * makegpr.adb, mlib.adb, mlib-prj.adb: Use
2149         GNAT.OS_Lib.Set_Executable instead of rolling our own.
2150
2151 2004-10-26  Matthew Gingell  <gingell@gnat.com>
2152
2153         * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
2154
2155 2004-10-26  Pascal Obry  <obry@gnat.com>
2156
2157         * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
2158         memory before the faulting page we properly test the process read
2159         access for this address using appropriate Win32 routine.
2160         (HPUX sections): guard with "__hpux__" instead of "hpux".
2161
2162 2004-10-26  Robert Dewar  <dewar@gnat.com>
2163
2164         * lib-xref.adb (Generate_Reference): Don't complain about reference to
2165         entry parameter if pragma Unreferenced set, since we do not properly
2166         handle the case of multiple parameters.
2167
2168 2004-10-26  Vincent Celier  <celier@gnat.com>
2169
2170         * prj-env.adb: (Contains_ALI_Files): New Boolean function
2171         (Ada_Objects_Path.Add): For a library project, add to the object path
2172         the library directory only if there is no object directory or if the
2173         library directory contains ALI files.
2174         (Set_Ada_Paths.Add.Recursive_Add): Ditto
2175
2176 2004-10-26  Vincent Celier  <celier@gnat.com>
2177
2178         * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
2179         extension of library projects.
2180
2181         * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
2182         path defaults to ".:<prefix>/lib/gnat".
2183         (Parse): For an extending all project, allow direct import of a project
2184         that is virtually extended.
2185
2186         * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
2187         the specified name is directly imported, return its ID. Otherwise, if
2188         an extension of this project is imported, return the ID of the
2189         extension.
2190
2191 2004-10-26  Robert Dewar  <dewar@gnat.com>
2192
2193         * s-arit64.adb: (Le3): New function, used by Scaled_Divide
2194         (Sub3): New procedure, used by Scaled_Divide
2195         (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
2196         correct more than one instance of failure to propagate carries
2197         correctly.
2198         (Double_Divide): Handle overflow case of largest negative number
2199         divided by minus one.
2200
2201         * s-arit64.ads (Double_Divide): Document that overflow can occur in
2202         the case of a quotient value out of range.
2203         Fix comments.
2204
2205 2004-10-26  Robert Dewar  <dewar@gnat.com>
2206
2207         * s-bitops.adb (Bit_Eq): Remove redundant check.
2208
2209         * s-bitops.ads: Minor comment updates
2210         Change some occurrences of Address to System.Address
2211
2212         * s-carsi8.ads: Fix minor cut-and-paste error in comments
2213
2214 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
2215
2216         * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
2217         accessibility check to prefix that is a protected operation.
2218
2219 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
2220
2221         * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
2222         empty, post message on stub.
2223
2224 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
2225             Javier Miranda  <miranda@gnat.com>
2226
2227         * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
2228         current instance appears within a unit that is directly in the context
2229         of the main unit.
2230         Used to determine whether the body of the instance should be analyzed
2231         immediately after its spec, to make its subprogram bodies available
2232         for front-end inlining.
2233         (Analyze_Formal_Array_Type): Cleanup condition that checks that range
2234         constraint is not allowed on the component type (AARM 12.5.3(3))
2235
2236 2004-10-26  Cyrille Comar  <comar@act-europe.fr>
2237
2238         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
2239         'Storage_Pool): enhance, document & limit detection of non-sharable
2240         internal pools.
2241
2242         * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
2243
2244         * s-pooglo.ads: Add more documentation now that this pool is properly
2245         documented.
2246
2247 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
2248
2249         * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
2250         or protected type with discriminants, do not constrain the
2251         corresponding record type if the subtype declaration has no
2252         discriminant constraints. This can be the case in source code, or in
2253         the subtype declaration created to rename an actual type within an
2254         instantiation.
2255
2256 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
2257
2258         * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
2259         different kind of stub (possibly wrong name for file), do not check
2260         for conformance.
2261         (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
2262         includes call to some function that returns an unconstrained type, do
2263         not inline.
2264
2265 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
2266
2267         * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
2268         appear in the code for the main unit. Dependencies among units in the
2269         context of the main unit are established when those other units are
2270         compiled. Otherwise spurious elaboration constraints can generate
2271         incorrect elaboration circularities.
2272
2273 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
2274             Ed Schonberg   <schonberg@gnat.com>
2275
2276         * sem_util.adb (Is_Aliased_View): Defend against the case where this
2277         subprogram is called with a parameter that is not an object name. This
2278         situation arises for some cases of illegal code, which is diagnosed
2279         later, and in this case it is wrong to call Is_Aliased, as that might
2280         cause a compiler crash.
2281         (Explain_Limited_Type): Refine previous fix to include
2282         inherited components of derived types, to provide complete information.
2283
2284         * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
2285         is the prival for a protected object.
2286         It is necessary to mark this entity as a variable, in addition to
2287         flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
2288         modified to avoid checking the Aliased flag on entities that are not
2289         objects. (Checking that flag for non-objects is erroneous and could
2290         lead to a compiler crash).
2291
2292 2004-10-26  Robert Dewar  <dewar@gnat.com>
2293
2294         * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
2295         X_Frac = 0.5, then we know that the number X must be positive.
2296         (Succ): Remove the same redundant test, and also fix the primary test
2297         to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
2298         Minor reformatting
2299         (Decompose): Add fuller comments to spec
2300
2301 2004-10-26  Pascal Obry  <obry@gnat.com>
2302
2303         * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
2304         validity (process must have read access). Set to 0 in all other cases.
2305         (STOP_FRAME): Now check for ptr validity to avoid a segmentation
2306         violation on Win32.
2307         (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
2308         segmentation violation.
2309
2310 2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
2311
2312         * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
2313         whose type is a constructed subtype of an aliased object with an
2314         unconstrained nominal subtype, convert the actual to the constructed
2315         subtype before taking its address.
2316
2317 2004-10-26  Vincent Celier  <celier@gnat.com>
2318
2319         * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
2320         (Is_Path_Name_Case_Sensitive): New function
2321
2322         * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
2323         (Base_Name, Simple_Name, Current_Directory, Compose,
2324         Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
2325         the result.
2326
2327 2004-10-26  Cyrille Comar    <comar@act-europe.fr>
2328             Vasiliy Fofanov  <fofanov@act-europe.fr>
2329             Vincent Celier   <celier@gnat.com>
2330
2331         * gnat_ugn.texi: Generalize "finding memory problems" section into a
2332         "memory management issues" section and document some of the useful
2333         memory pools provided as part of the GNAT library.
2334         Remove "virtual" from declaration of A::method2 in
2335         the simple example of Ada/C++ mixed system.
2336         Library Projects may be virtually extended: their virtual extensions
2337         are not Library Projects.
2338         Added section on extending project hierarchies.
2339
2340 2004-10-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
2341
2342         * adaint.c (__gnat_get_libraries_from_registry): Cast value
2343         to LPBYTE.
2344         (__gnat_portable_spawn): Remove const.
2345
2346         * mingw32.h (MAXPATHLEN): Check for previous definition.
2347
2348 2004-10-17  Matthias Klose  <doko@debian.org>
2349
2350         * gnatvsn.ads: Set gnat library version to 4.0.
2351
2352 2004-10-05  Vincent Celier  <celier@gnat.com>
2353
2354         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
2355
2356 2004-10-04  Laurent GUERBY <laurent@guerby.net>
2357
2358         PR ada/15156
2359         * Makefile.in: Define and use RANLIB_FLAGS.
2360
2361 2004-10-04  Pascal Obry  <obry@gnat.com>
2362
2363         * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
2364         other x86 platforms).
2365
2366 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
2367
2368         * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
2369         in general and triggers stack alignment adjustment for thread entry
2370         points on targets where this is necessary.
2371
2372 2004-10-04  Bernard Banner  <banner@gnat.com>
2373
2374         PR ada/13897
2375
2376         * Makefile.in: Add section for powerpc linux
2377         Add variant i-vxwork-x86.ads
2378
2379         * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
2380
2381 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
2382
2383         * init.c (__gnat_initialize): Call an Ada subprogram to perform the
2384         table registration calls when need be. Ensures no reference to the crt
2385         ctors symbol are issued in the SJLJ case, which avoids possible
2386         undefined symbol errors in the case of modules to be statically linked
2387         with the kernel.
2388
2389 2004-10-04  Javier Miranda  <miranda@gnat.com>
2390
2391         * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
2392         in-line the code corresponding to subprogram Analyze_Actuals. In
2393         addition, analyze the actuals only in case of subprogram call.
2394
2395 2004-10-04  Ed Falis  <falis@gnat.com>
2396
2397         * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
2398
2399 2004-10-04  Sergey Rybin  <rybin@act-europe.fr>
2400
2401         * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
2402         in the documentation.
2403
2404 2004-10-04  Robert Dewar  <dewar@gnat.com>
2405
2406         * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
2407         IF and CASE.
2408         (Analyze_Block_Statement): Add circuitry to detect following dead code
2409         (Check_Unreachable_Code): Handle case of block exit
2410
2411 2004-10-04  Robert Dewar  <dewar@gnat.com>
2412
2413         * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
2414         (XMatchD): Avoid warning for Logic_Error call
2415
2416 2004-10-04  Robert Dewar  <dewar@gnat.com>
2417
2418         * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
2419         consider expressions buried within a procedure actual to be an actual.
2420         This caused some blowups with uses of packed slices within a procedure
2421         actual.
2422
2423 2004-10-04  Robert Dewar  <dewar@gnat.com>
2424
2425         * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
2426         longer need to be initialized to zero.
2427         (Get_Simple_Init_Val): Modular packed arrays no longer need to be
2428         initialized to zero.
2429
2430         * checks.adb (Expr_Known_Valid): Packed arrays are now always
2431         considered valid, even if the representation is modular. That's correct
2432         now that we no longer initialize packed modular arrays to zero.
2433
2434         * exp_dbug.ads: Clarify documentation on handling of PAD and JM
2435         suffixes. These are now documented as the only cases in which the
2436         debugger ignores outer records.
2437         Previously, the spec allowed arbitrary suffixes for this purpose.
2438         Change name of LJM to JM for packed array pad records
2439         Create separate section on packed array handling, and add a whole new
2440         set of comments to this section describing the situation with packed
2441         modular types and justification requirements depending on endianness.
2442
2443 2004-10-04  Robert Dewar  <dewar@gnat.com>
2444
2445         * a-except.adb: Add a comment for last change
2446
2447         * einfo.ads: Minor spelling correction in comment
2448
2449         * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
2450
2451         * sem_ch11.adb: Fix a case of using | instead of \ for continuation
2452         messages.
2453
2454         * sem_util.ads: Minor comment update
2455
2456 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
2457
2458         * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
2459         Inline_Always when in Configurable_Run_Time mode.
2460
2461         * sem_prag.adb (Process_Convention): If entity is an inherited
2462         subprogram, apply convention to parent subprogram if in same scope.
2463         (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
2464         when in Configurable_Run_Time mode.
2465
2466 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
2467
2468         * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
2469         class_wide type after component list has been inherited.
2470
2471 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
2472
2473         * sem_ch12.adb (Check_Generic_Actuals): New predicate
2474         Denotes_Previous_Actual, to handle properly the case of a private
2475         actual that is also the component type of a subsequent array actual.
2476         The visibility status of the first actual is not affected when the
2477         second is installed.
2478         (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
2479         make fully recursive the treatment of formals of packages declared
2480         with a box.
2481         (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
2482         the above on exit from an instantiation.
2483         (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
2484         current instantiation which is now complete.
2485         (Analyze_Package_Instantiation): No instantiated body is needed if the
2486         main unit is generic. Efficient, and avoid anomalies when a instance
2487         appears in a package accessed through rtsfind.
2488
2489 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
2490
2491         * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
2492         do not generate a declaration for a temporary if the call is part of a
2493         library-level instantiation.
2494
2495 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
2496
2497         * sem_util.adb (Explain_Limited_Type): Ignore internal components when
2498         searching for a limited component to flag.
2499
2500         * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
2501         expansion of Input, to account for the fact that the implicit call
2502         generated by the attribute reference must freeze the user-defined
2503         stream subprogram. This is only relevant to 'Input, because it can
2504         appear in an object declaration, prior to the body of the subprogram.
2505
2506         * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
2507         expansion can proceed and further errors uncovered.
2508         (Minor clean up): Fix cases of using | instead of \ for continuation
2509         messages.
2510
2511 2004-10-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2512
2513         * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
2514
2515         * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
2516         (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
2517         Use gcc_assert and gcc_unreachable.
2518
2519         * decl.c (gnat_to_gnu_entity, case object): Check and process a
2520         specified alignment before validating size.
2521         (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
2522         stripped-down declaration for the type of the inner field when making
2523         a JM type.
2524
2525         * utils.c (finish_record_type): Do not compute the size in units
2526         incrementally. Instead compute it once for the rep clause case.
2527         Use gcc_assert and gcc_unreachable.
2528
2529 2004-10-04  Vincent Celier  <celier@gnat.com>
2530
2531         * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
2532         in file name.
2533         (Is_Valid_Path_Name): Take '/' as a directory separator.
2534
2535 2004-10-04  Vincent Celier  <celier@gnat.com>
2536
2537         * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
2538         (Extended_Project) only if Extended_Project is defined, to avoid
2539         assertion error.
2540         (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
2541         resolved path.
2542         (Parse_Single_Project): Ditto.
2543
2544         * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
2545         Add_To_Project_Path for virtual projects.
2546
2547 2004-10-04  Vincent Celier  <celier@gnat.com>
2548
2549         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
2550         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
2551         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
2552         mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
2553         parameter Options_2.
2554
2555         * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
2556         Build_Dynamic_Library with an empty Options_2.
2557
2558         * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
2559         default anymore.
2560
2561         * makegpr.adb (Get_Imported_Directories.add): Remove trailing
2562         directory separator, if any.
2563         (Gprmake): Do not allow mains on the command line for library projects.
2564         Do not attempt to link when the project is a library project.
2565         (Library_Opts): New table to store Library_Options.
2566         (Build_Library): If Library_Options is specified, pass these options
2567         when building a shared library.
2568
2569 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
2570
2571         * s-tposen.adb (Service_Entry): The object must be always unlocked at
2572         the end of this procedure now that the unlock operation was inserted
2573         by the expander.
2574
2575 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
2576
2577         * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
2578         corresponding to the Preallocated_Stacks flags in System.
2579         (Get_Target_Parameters): Including the processing for
2580         Preallocated_Stacks.
2581
2582         * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
2583         system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
2584         system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
2585         system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
2586         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
2587         system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
2588         system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
2589         system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
2590         system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
2591         system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
2592         system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
2593         used to signal whether the compiler creates the required stacks and
2594         descriptors for the different tasks (when True) or it is done by the
2595         underlying operating system at run time (when False).
2596         It is initially set to False in all targets.
2597
2598         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
2599         if it is supported by the target.
2600         (Make_Task_Create_Call): Pass the stack address if it has been
2601         previously created. Otherwise pass a Null_Address.
2602
2603         * snames.adb: Add _stack.
2604
2605         * snames.ads: Add Name_uStack. Required to allow the expander to
2606         statically allocated task stacks.
2607
2608         * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
2609         Stack_Address argument.
2610         Check that its value is equal to Null_Address because this target does
2611         not support the static stack allocation.
2612
2613 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
2614
2615         * usage.adb: Change "pragma inline" to "pragma Inline" in information
2616         and error messages
2617
2618 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
2619
2620         * exp_dist.adb: Split declaration of asynchronous flag out of
2621         Add_RACW_Read_Attribute.
2622         Minor reformatting for better alignment with PolyORB version.
2623         Store the entity for the asynchronous flag of an RACW, rather than the
2624         expression, in the asynchronous flags table. This will allow this flag
2625         to be used in other subprograms beside Add_RACW_Read_Attribute.
2626
2627 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
2628
2629         * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
2630         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
2631         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
2632         g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
2633         g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads:  Add new
2634         sockets constant MSG_NOSIGNAL (Linux-specific).
2635         Add new sockets constant MSG_Forced_Flags, list of flags to be set on
2636         all Send operations.
2637         For Linux, set MSG_NOSIGNAL on all send operations to prevent them
2638         from trigerring SIGPIPE.
2639         Rename components to avoid clash with Ada 2005 possible reserved
2640         word 'interface'.
2641         (Check_Selector): When the select system call returns with an error
2642         condition, propagate Socket_Error to the caller.
2643
2644 2004-10-01  Jan Hubicka  <jh@suse.cz>
2645
2646         * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
2647
2648 2004-09-23  Robert Dewar  <dewar@gnat.com>
2649
2650         PR ada/17540
2651
2652         * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
2653         instead do this at freeze time (we won't do it if there is an address
2654         clause).
2655         Change "pragma inline" to "pragma Inline" in information and error
2656         messages.
2657         Minor reformatting.
2658
2659         * freeze.adb (Check_Address_Clause): Remove previous change, not the
2660         right way of doing things after all.
2661         (Freeze_Entity): For object, set Is_Public for imported entities
2662         unless there is an address clause present.
2663
2664 2004-09-21  Olivier Hainque  <hainque@act-europe.fr>
2665
2666         * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
2667         dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
2668         ensures proper handling of types with rep clauses, which might have
2669         their TYPE_SIZE set already.
2670
2671 2004-09-21  Robert Dewar  <dewar@gnat.com>
2672
2673         * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
2674         packed array types in both little- and big-endian cases. This change
2675         ensures that we no longer count on the unused bits being initialized
2676         for such types (and in particular ensures that equality testing will
2677         only read the relevant bits).
2678         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
2679         These changes mean that we no longer need to initialize small packed
2680         arrays.
2681         (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
2682         optimization to an LJM field as to its parent field.
2683
2684         * ada-tree.h, trans.c, utils.c, utils2.c:
2685         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
2686
2687 2004-09-20  Jan Hubicka  <jh@suse.cz>
2688
2689         * utils.c (gnat_finalize): Remove.
2690         (end_subprog_body): Directly call cgraph_finalize_function;
2691         do not lower the nested functions.
2692
2693 2004-09-20  Robert Dewar  <dewar@gnat.com>
2694
2695         PR ada/17540
2696
2697         * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
2698         if an address clause is present, since that means that the Import
2699         should be ignored.
2700
2701 2004-09-20  Arnaud Charlet  <charlet@act-europe.fr>
2702
2703         * 5tsystem.ads: Removed, no longer used.
2704
2705 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
2706             Zack Weinberg  <zack@codesourcery.com>
2707
2708         * ada-tree.def: Use tree_code_class enumeration constants
2709         instead of code letters.
2710         * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
2711         Update for new tree-class enumeration constants.
2712
2713 2004-09-17  Vincent Celier  <celier@gnat.com>
2714
2715         * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
2716         capabilities of the general project manager.
2717
2718 2004-09-09  Vincent Celier  <celier@gnat.com>
2719
2720         * a-direct.ads: Add pragma Ada_05
2721         (Directory_Entry_Type): Give default value to component Kind to avoid
2722         not initialized warnings.
2723
2724         * a-direct.adb (Current_Directory): Remove directory separator at the
2725         end.
2726         (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
2727         an existing directory.
2728         (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
2729         (Size (String)): Function C_Size returns Long_Integer, not File_Size.
2730         Convert the result to File_Size.
2731
2732         * prj.ads: (Project_Error): New exception
2733
2734         * prj-attr.adb: Except in procedure Initialize, Fail comes from
2735         Prj.Com, not from Osint.
2736         (Attrs, Package_Attributes): Tables moved to private part of spec
2737         (Add_Attribute, Add_Unknown_Package): Moved to new child package
2738         Prj.Attr.PM.
2739         (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
2740         Prj.Project_Error after call to Fail.
2741         (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
2742         Fail. Check that package name is not already in use.
2743
2744         * prj-attr.ads: Comment updates to indicate that all subprograms may be
2745         used by tools, not only by the project manager, and to indicate that
2746         exception Prj.Prj_Error may be raised in case of problem.
2747         (Add_Unknown_Package, Add_Attribute): Moved to new child package
2748         Prj.Attr.PM.
2749         (Attrs, Package_Attributes): Table instantiations moved from the body to
2750         the private part to be accessible from Prj.Attr.PM body.
2751
2752         * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
2753         from new package Prj.Attr.PM.
2754         (Parse_Attribute_Declaration): Call Add_Attribute from new package
2755         Prj.Attr.PM.
2756
2757         * Makefile.in: Add prj-attr-pm.o to gnatmake object list
2758
2759         * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
2760         instead of Elaboration_Checks).
2761
2762         * a-calend.adb: Minor reformatting
2763
2764 2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2765
2766         * gigi.h (maybe_pad_type): New declaration.
2767         (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
2768
2769         * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
2770
2771         * cuintp.c: Convert to use buildN.
2772
2773         * decl.c (maybe_pad_type): No longer static.
2774         (gnat_to_gnu_entity, case E_Function): Handle case of returning by
2775         target pointer.
2776         Convert to use buildN.
2777
2778         * trans.c (call_to_gnu): Add arg GNU_TARGET; support
2779         TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
2780         (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
2781         RHS.
2782         (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
2783         (gnat_gimplify_expr, case ADDR_EXPR): New case.
2784         Convert to use buildN.
2785
2786         * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
2787         TREE_READONLY for const.
2788         Convert to use buildN.
2789
2790         * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
2791         (create_var_decl): Refine when TREE_STATIC is set.
2792         Convert to use buildN.
2793
2794 2004-09-09  Gary Dismukes  <dismukes@gnat.com>
2795
2796         * gnat_ugn.texi: Delete text relating to checking of ali and object
2797         consistency.
2798
2799         * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
2800         routines.
2801
2802 2004-09-09  Jose Ruiz  <ruiz@act-europe.fr>
2803
2804         * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
2805         pragmas recognized by GNAT.
2806
2807         * gnat_rm.texi: Document pragma Detect_Blocking.
2808
2809         * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
2810         raise Program_Error if called from a protected operation.
2811
2812         * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
2813         the protected action nesting level.
2814         (Lock_Read_Only): When pragma Detect_Blocking is active increase the
2815         protected action nesting level.
2816         (Unlock): When pragma Detect_Blocking is active decrease the protected
2817         action nesting level.
2818
2819         * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
2820         Protected_Action_Nesting.
2821
2822         * s-taskin.ads: Adding the field Protected_Action_Nesting to the
2823         Common_ATCB record. It contains the dynamic level of protected action
2824         nesting for each task. It is needed for checking whether potentially
2825         blocking operations are called from protected operations.
2826         (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
2827         Detect_Blocking is active or not in the partition.
2828
2829         * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
2830         raise Program_Error if called from a protected operation.
2831         (Task_Entry_Call): When pragma Detect_Blocking is active, raise
2832         Program_Error if called from a protected operation.
2833         (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
2834         Program_Error if called from a protected operation.
2835
2836         * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
2837         raise Program_Error if called from a protected operation.
2838
2839         * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
2840         raise Program_Error if called from a protected operation, and increase
2841         the protected action nesting level.
2842         (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
2843         Program_Error if called from a protected operation, and increase the
2844         protected action nesting level.
2845         (Unlock_Entries): When pragma Detect_Blocking is active decrease the
2846         protected action nesting level.
2847
2848         * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
2849         raise Program_Error if called from a protected operation, and increase
2850         the protected action nesting level.
2851         (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
2852         Program_Error if called from a protected operation, and increase the
2853         protected action nesting level.
2854         (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
2855         raise Program_Error if called from a protected operation.
2856         (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
2857         active, raise Program_Error if called from a protected operation.
2858         (Unlock_Entry): When pragma Detect_Blocking is active decrease the
2859         protected action nesting level.
2860
2861         * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
2862         insertion of the statement raising Program_Error. The run time
2863         contains the required machinery for handling that.
2864
2865         * sem_util.ads: Change comment associated to procedure
2866         Check_Potentially_Blocking_Operation.
2867         This procedure does not insert a call for raising the exception because
2868         that is currently done by the run time.
2869
2870         * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
2871
2872         * init.c: Add the global variable __gl_detect_blocking that indicates
2873         whether pragma Detect_Blocking is active (1) or not (0). Needed for
2874         making the pragma available at run time.
2875         (__gnat_set_globals): Pass and update the detect_blocking parameter.
2876
2877         * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
2878         pragma Detect_Blocking is active.
2879
2880         * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
2881
2882         * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
2883         DB is found in the ali file. Any unit compiled with pragma
2884         Detect_Blocking active forces its effect in the whole partition.
2885
2886         * a-retide.adb (Delay_Until): Raise Program_Error if pragma
2887         Detect_Blocking is active and delay is called from a protected
2888         operation.
2889
2890         * bindgen.adb (Gen_Adainit_Ada): When generating the call to
2891         __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
2892         Detect_Blocking is active (0 otherwise).
2893         (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
2894         as Detect_Blocking parameter if pragma Detect_Blocking is active (0
2895         otherwise).
2896
2897 2004-09-09  Thomas Quinot  <quinot@act-europe.fr>
2898
2899         * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
2900         GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
2901         package.
2902
2903         * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
2904         (Register_Receiving_Stub): Add Subp_Info formal parameter.
2905         Update API in placeholder implemetation of s-parint to reflect changes
2906         in distribution runtime library.
2907
2908         * sem_ch3.adb (Expand_Derived_Record): Rename to
2909         Expand_Record_Extension.
2910
2911         * sem_disp.adb (Check_Controlling_Formals): Improve error message for
2912         primitive operations of potentially distributed object types that have
2913         non-controlling anonymous access formals.
2914
2915         * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
2916         subprogram.
2917         New implementation of expansion for remote access-to-subprogram types,
2918         based on the RACW infrastructure.
2919         This version of sem_dist is compatible with PolyORB/DSA as well as
2920         GLADE.
2921
2922         * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
2923         Asynchrronous that applies to a remote access-to-subprogram type, mark
2924         the underlying RACW type as asynchronous.
2925
2926         * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
2927          __gnat_using_gnu_linker to 1.
2928
2929         * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
2930         g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
2931         GNAT.Perfect_Hash_Generators, and remove the empty
2932         GNAT.Perfect_Hash package.
2933
2934         * atree.adb: Minor reformatting
2935
2936         * exp_ch3.adb (Expand_Derived_Record): Rename to
2937         Expand_Record_Extension.
2938         (Build_Record_Init_Proc.Build_Assignment): The default expression in
2939         a component declaration must remain attached at that point in the
2940         tree so New_Copy_Tree copies it if the enclosing record type is derived.
2941         It is therefore necessary to take a copy of the expression when building
2942         the corresponding assignment statement in the init proc.
2943         As a side effect, in the case of a derived record type, we now see the
2944         original expression, without any rewriting that could have occurred
2945         during expansion of the ancestor type's init proc, and we do not need
2946         to go back to Original_Node.
2947
2948         * exp_ch3.ads (Expand_Derived_Record): Rename to
2949         Expand_Record_Extension.
2950
2951         * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
2952         Returns the RACW type used to implement a remote access-to-subprogram
2953         type.
2954         (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
2955         New subprograms. Used to create a proxy tagged object for a remote
2956         subprogram. The proxy object is used as the designated object
2957         for RAS values on the same partition (unless All_Calls_Remote applies).
2958         (Build_Get_Unique_RP_Call): New subprogram. Build a call to
2959         System.Partition_Interface.Get_Unique_Remote_Pointer.
2960         (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
2961         Renamed from Add_RAS_*_Attribute.
2962         (Add_Receiving_Stubs_To_Declarations): Generate a table of local
2963         subprograms.
2964         New implementation of expansion for remote access-to-subprogram types,
2965         based on the RACW infrastructure.
2966
2967         * exp_dist.ads (Copy_Specification): Update comment to note that this
2968         function can copy the specification from either a subprogram
2969         specification or an access-to-subprogram type definition.
2970
2971 2004-09-09  Ed Schonberg  <schonberg@gnat.com>
2972
2973         * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
2974         in an instance, between an explicit subprogram an one inherited from a
2975         type derived from an actual.
2976
2977         * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
2978         add a polling call if the subprogram is to be inlined by the back-end,
2979         to avoid repeated calls with multiple inlinings.
2980
2981         * checks.adb (Apply_Alignment_Check): If the expression in the address
2982         clause is a call whose name is not a static entity (e.g. a dispatching
2983         call), treat as dynamic.
2984
2985 2004-09-09  Robert Dewar  <dewar@gnat.com>
2986
2987         * g-trasym.ads: Minor reformatting
2988
2989         * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
2990         packed arrays, since unused bits are expected to be zero for a
2991         comparison.
2992
2993 2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>
2994
2995         * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
2996         comment.
2997
2998 2004-09-09  Pascal Obry  <obry@gnat.com>
2999
3000         * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
3001         enable map file generation. Add the right option to generate the map
3002         file if Map_File is set to True.
3003
3004         * gnatdll.adb (Gen_Map_File): New variable.
3005         (Syntax): Add info about new -m (Map_File) option.
3006         (Parse_Command_Line): Add support for -m option.
3007         (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
3008         Minor reformatting.
3009
3010 2004-09-09  Laurent Pautet  <pautet@act-europe.fr>
3011
3012         * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
3013         new gnatdist implementation.
3014         Define a subpackage isolating the output routines specific to this
3015         verbose mode.
3016
3017 2004-09-09  Joel Brobecker  <brobecker@gnat.com>
3018
3019         * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
3020
3021         * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
3022
3023 2004-09-09  Cyrille Comar  <comar@act-europe.fr>
3024
3025         * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
3026         internal unit.
3027
3028         * opt.ads: Add Ada_Version_Runtime constant used to decide which
3029         version of the language is used to compile the run time.
3030
3031 2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>
3032
3033         * sem_util.adb (Requires_Transient_Scope): Re-enable handling
3034         of variable length temporaries for function return now that the
3035         back-end and gigi support it.
3036
3037 2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3038
3039         * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
3040
3041         * trans.c (struct stmt_group): Delete field GLOBAL.
3042         (gnat_init_stmt_group): Do not initialize it.
3043         (call_to_gnu): Use save_expr, not protect_multiple_eval.
3044         (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
3045         (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
3046         (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
3047         (start_stmt_group): Likewise.
3048         (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
3049
3050         * utils2.c (ggc.h): Include.
3051         (build_call_raise): Call build_int_cst, not build_int_2.
3052
3053         * utils.c (gnat_init_decl_processing): Fix arg to
3054         build_common_tree_nodes.
3055         (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
3056         (gnat_define_builtin): Set built_in_decls.
3057         (init_gigi_decls): Call build_int_cst, not build_int_2.
3058
3059         * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
3060         (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
3061         (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
3062         (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
3063         SET_TYPE_MODULE): Use them.
3064         (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
3065         (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
3066         (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
3067         SET_TYPE_ADA_SIZE): Likewise.
3068         (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
3069         (DECL_CONST_CORRESPONDING_VAR,
3070         SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
3071         (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
3072         (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
3073         (TYPE_RM_SIZE_NUM): New macro.
3074         (TYPE_RM_SIZE): Modified to use above.
3075
3076         * cuintp.c: (build_cst_from_int): New function.
3077         (UI_To_gnu): Use it.
3078
3079         * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
3080         (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
3081         (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
3082         MIN_EXPR for the size, copy it into new.
3083
3084 2004-09-01  Robert Dewar  <dewar@gnat.com>
3085
3086         * exp_ch6.adb (Expand_Call): Properly handle validity checks for
3087         packed indexed component where array is an IN OUT formal. This
3088         generated garbage code previously.
3089
3090         * gnat_ugn.texi: Document -fverbose-asm
3091
3092         * gnat-style.texi: Minor updates (note that boolean constants and
3093         variables are joined with AND/OR rather than short circuit forms).
3094
3095 2004-09-01  Ed Schonberg  <schonberg@gnat.com>
3096
3097         * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
3098         it is an upward conversion of an untagged type with no representation
3099         change.
3100
3101 2004-09-01  Thomas Quinot  <quinot@act-europe.fr>
3102
3103         * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
3104         System.Partition_Interface.
3105
3106         * checks.adb (Apply_Access_Checks): Do not generate checks when
3107         expander is not active (but check for unset reference to prefix of
3108         dereference).
3109
3110         * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
3111         pragma Debug as an if statement with a constant condition, for
3112         consistent treatment of entity references contained within the
3113         enclosed procedure call.
3114
3115 2004-09-01  Vincent Celier  <celier@gnat.com>
3116
3117         * bindgen.adb: (Set_EA_Last): New procedure
3118         (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
3119         Set_EA_Last.
3120         (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
3121         (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
3122         linked without errors.
3123         (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
3124         ST and EA.
3125         (Gen_Exception_Table_C): Correct same bugs
3126
3127         * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
3128
3129         * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
3130         on Windows, make sure that the drive letter is in upper case.
3131
3132         * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
3133         Windows, when the drive letter is added and Case_Sensitive is True, the
3134         drive letter is forced to upper case.
3135
3136         * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
3137         to Options_2 for the call to MLib.Utl.Gcc.
3138
3139         * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
3140         directory separator when defining BASE_DIR.
3141
3142 2004-09-01  Pascal Obry  <obry@gnat.com>
3143
3144         * gprcmd.adb (Extend): Do not output trailing directory separator. This
3145         is not needed and it confuses Windows GNU/make which does not report
3146         directory terminated by a slash as a directory.
3147         (gprcmd): Idem for "pwd" internal command.
3148
3149         * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
3150         target names rewrite to fix regressions with recent version of
3151         GNU/make. Starting with GNU/make 3.80 the pipe character was not
3152         handled properly anymore.
3153
3154 2004-09-01  Andreas Schwab  <schwab@suse.de>
3155
3156         * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
3157         * raise.c [!IN_RTS]: Undef abort.
3158
3159 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
3160
3161         * utils2.c (build_allocator): Use ssize_int.
3162
3163         * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
3164
3165 2004-08-27  Andreas Schwab  <schwab@suse.de>
3166
3167         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
3168
3169 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
3170             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3171
3172         * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
3173
3174 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
3175
3176         * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
3177         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
3178         * utils.c (init_gigi_decls): Likewise.
3179         * utils2.c (build_call_raise, build_allocator): Likewise.
3180
3181 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
3182
3183         * utils.c (gnat_init_decl_processing): Adjust
3184         build_common_tree_nodes call.
3185
3186 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
3187
3188         * utils2.c (build_allocator): Use build_int_cst for negative
3189         size types.
3190
3191 2004-08-18  Richard Henderson  <rth@redhat.com>
3192
3193         * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
3194
3195 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
3196
3197         * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
3198         call.s
3199         * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
3200         (gnat_to_gnu): Likewise.
3201
3202 2004-08-16  Pascal Obry  <obry@gnat.com>
3203
3204         * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
3205         backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
3206         option and not mdll anymore. Update comment.
3207
3208 2004-08-16  Pascal Obry  <obry@gnat.com>
3209
3210         * bld.adb (Put_Include_Project): Properly handle directory separators
3211         on Windows.
3212
3213 2004-08-16  Ed Schonberg  <schonberg@gnat.com>
3214
3215         * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
3216         decreasing the number of allocated junk nodes while searching for the
3217         appropriate subprogram.
3218
3219 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
3220
3221         * cuintp.c (UI_To_gnu): Use build_int_cst..
3222         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
3223         * utils.c (init_gigi_decls): Likewise.
3224         * utils2.c (build_call_raise): Likewise.
3225
3226 2004-08-13  Olivier Hainque  <hainque@act-europe.fr>
3227
3228         * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
3229         for a global aliased object with a variable size and an unconstrained
3230         nominal subtype, pretend there is no initializer if the one we have is
3231         incomplete, and avoid referencing an inexistant component in there. The
3232         part we have will be rebuilt anyway and the reference may confuse
3233         further operations.
3234
3235 2004-08-13  Thomas Quinot  <quinot@act-europe.fr>
3236
3237         * einfo.ads: Minor reformatting
3238
3239         * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
3240         restrictions in the ALI if we only want to warn about violations.
3241
3242 2004-08-13  Vincent Celier  <celier@gnat.com>
3243
3244         * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
3245         when creating a new Unit_Record in table Units.
3246
3247         * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
3248         that are violated, if any.
3249
3250         * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
3251         add directory separator if path already ends with a directory separator.
3252
3253 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
3254
3255         * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
3256         unit, this is an attempt to inline a construct that is not available in
3257         the current restricted mode, so abort rather than trying to continue.
3258
3259         * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
3260         discriminants that rename those of the parent, recover names of
3261         original discriminants for the constraint on the full view of the
3262         parent.
3263         (Complete_Private_Subtype): Do not create a subtype declaration if the
3264         subtype is an itype.
3265
3266         * gnat_rm.texi: Added section on implementation of discriminated
3267         records with default values for discriminants.
3268
3269 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
3270
3271         PR ada/15601
3272         * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
3273         the second operand is overloaded.
3274
3275 2004-08-10  Richard Henderson  <rth@redhat.com>
3276
3277         * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
3278         add __builtin_alloca.
3279
3280 2004-08-10  Richard Henderson  <rth@redhat.com>
3281
3282         * config-lang.in (boot_language): Yes.
3283
3284 2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
3285
3286         * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
3287         from complaining on potential uninitialized reference.
3288         Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
3289         new specification and test explicitly for non-zero return value.
3290
3291         * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
3292         returning C.int, to avoid using a derived boolean type.
3293
3294         * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
3295         Duplicate_Subexpr_No_Checks in preference to direct use of
3296         Remove_Side_Effects and New_Copy_Tree.
3297         Clear Comes_From_Source on prefix of 'Size attribute reference.
3298
3299         * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
3300         g-socthi-vxworks.adb: Change calls to
3301         GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
3302         and test explicitly for non-zero return value.
3303
3304         * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
3305         (Is_Socket_In_Set): Declare imported function as returning C.int, to
3306         avoid using a derived boolean type.
3307
3308 2004-08-09  Albert Lee  <lee@gnat.com>
3309
3310         * system-irix-n32.ads: Refine tasking priority constants for IRIX.
3311
3312 2004-08-09  Pascal Obry  <obry@gnat.com>
3313
3314         * gnat_ugn.texi: Document new way to build DLLs on Windows using
3315         GCC's -shared option.
3316
3317         * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
3318         Options_2 parameter (options put after object files).
3319
3320 2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
3321
3322         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
3323         ignore overflows on low and high bounds of an index to also account for
3324         differences in signedness between sizetype and gnu_index_subtype.
3325         These are as legitimate as the ones caused by a lower TYPE_PRECISION
3326         on sizetype.
3327
3328 2004-08-09  Robert Dewar  <dewar@gnat.com>
3329
3330         * s-solita.ads, s-solita.adb: Minor reformatting
3331
3332         * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
3333         Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
3334         obsolescent section
3335         Add note that No_Implicit_Conditionals does not suppress
3336         run time constraint checks.
3337
3338         * vms_conv.ads: Minor reformatting
3339
3340         * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
3341         and necessary for following change).
3342         (Mark): Return new format Mark_Id containing sec stack address
3343         (Release): Use sec stack address from Mark_Id avoiding Self call
3344
3345         * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
3346         pointer (cleanup and necessary for following change).
3347         Define Mark_Id as record containing address of secondary stack, that way
3348         Release does not need to find the stack again, decreasing the number of
3349         calls to Self and improving efficiency.
3350
3351         * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
3352
3353         * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
3354         case variable into the individual case branches when possible.
3355
3356         * sem_ch11.adb: Minor reformatting
3357
3358         * prj.ads: Correct spelling of suffixs
3359
3360         * prj-nmsc.adb: Minor reformatting
3361         Correct spelling suffixs throughout (also in identifiers)
3362
3363         * freeze.adb: Minor spelling correction
3364
3365         * exp_ch2.adb: Cleanups to handling of Current_Value
3366         (no functional effect).
3367
3368         * bld.adb: Correct spelling of suffixs
3369
3370         * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
3371
3372 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
3373
3374         PR ada/15408
3375
3376         * sem_ch7.adb (Install_Private_Declarations): In the body of the
3377         package or of a child, private entities are both immediately_visible
3378         and not hidden.
3379
3380 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
3381
3382         * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
3383         there are no range checks on the value of the literal.
3384
3385         * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
3386         wrapped is the triggering alternative of an asynchronous select, action
3387         statements mustbe inserted before the select itself.
3388
3389         * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
3390         case where the prefix is a protected function call.
3391         (Resolve_Attribute, case 'Access): The attribute reference on a
3392         subprogram is legal in a generic body if the subprogram is declared
3393         elsewhere.
3394
3395 2004-08-09  Vincent Celier  <celier@gnat.com>
3396
3397         * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
3398         languages, otherwise building the library may fail with unresolved
3399         symbols.
3400         (Compile_Sources): Do not build libraries if -c switch is used
3401
3402         * gnatlink.adb (Process_Args): New switches -M and -Mmap
3403         (Write_Usage): If map file creation is supported, output new switches
3404         -M and -Mmap.
3405         (Gnatlink): When -M is specified, add the necessary switch(es) to the
3406         gcc call, when supported.
3407
3408         * Makefile.in: Added indepsw.o to the object list for gnatlink
3409         Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
3410
3411         * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
3412         indepsw.adb, indepsw.ads: New files.
3413
3414 2004-08-09  Bernard Banner  <banner@gnat.com>
3415
3416         * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
3417
3418         * Makefile.in: add section for vxworks x86
3419
3420 2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
3421
3422         * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
3423         per-object constrained components where the discriminant is of an
3424         Access type.
3425         (Build_Record_Init_Proc): Add condition to prevent the inheritance of
3426         the parent initialization procedure for derived Unchecked_Unions.
3427         Instead, derived Unchecked_Unions build their own initialization
3428         procedure.
3429         (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
3430         Check the body of the subprogram for details.
3431         (Freeze_Record_Type): Prevent the inheritance of discriminant checking
3432         functions for derived Unchecked_Union types by introducing a condition.
3433         Allow the creation of TSS equality functions for Unchecked_Unions.
3434         (Make_Eq_Case): Rename formal parameter Node to E in function signature.
3435         Add formal parameter Discr to function signature. Discr is used to
3436         control the generated case statement for Unchecked_Union types.
3437         (Make_Eq_If): Rename formal parameter Node to E in function signature.
3438
3439         * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
3440         Unchecked_Unions.
3441         Check the body of the subprogram for details.
3442         (Expand_Composite_Equality): Augment composite type equality to include
3443         correct handling of Unchecked_Union components.
3444         (Expand_N_In): Add condition to detect illegal membership tests when the
3445         subtype mark is a constrained Unchecked_Union and the expression lacks
3446         inferable discriminants, and build a Raise_Program_Error node.
3447         (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
3448         to detect types that contain components of unconstrained Unchecked_Union
3449         subtype. Add condition to detect equality between types that have an
3450         unconstrained Unchecked_Union component, and build a Raise_Program_Error
3451         node. Add condition to detect equality between Unchecked_Union types
3452         that lack inferable discriminants, and build a Raise_Program_Error node.
3453         Otherwise build a TSS equality function call.
3454         (Expand_N_Type_Conversion): Add condition to detect illegal conversions
3455         from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
3456         with the operand lacking inferable discriminants, and build a Raise_
3457         Program_Error node.
3458         (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
3459         composite equality.
3460         (Has_Inferable_Discriminants): Implement new predicate for objects and
3461         expressions of Unchecked_Union type. Check the body of subprogram for
3462         details.
3463         (Has_Unconstrained_UU_Components): Add function
3464         Component_Is_Unconstrained_UU. It is used to detect whether a single
3465         component is of an unconstrained Unchecked_Union subtype. Add function
3466         Variant_Is_Unconstrained_UU. It is used to detect whether a single
3467         component inside a variant is of an unconstrained Unchecked_Union type.
3468
3469         * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
3470         inferred discriminant values. Add condition to generate a case
3471         statement with an inferred discriminant as the switch.
3472         (Make_Component_List_Assign): Introduce a Boolean flag that determines
3473         the behaviour of the subprogram in the presence of an Unchecked_Union.
3474         Add condition to trigger the usage of the inferred discriminant value
3475         as the generated case statement switch.
3476         (Make_Field_Assign): Introduce a Boolean flag that determines the
3477         behaviour of the subprogram in the presence of an Unchecked_Union. Add
3478         condition to trigger the usage of the inferred discriminant value as
3479         the right-hand side of the generated assignment.
3480
3481         * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
3482         parameter generation when dealing with Unchecked_Unions.
3483
3484         * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
3485         checks for Unchecked_Unions.
3486
3487         * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
3488
3489         * exp_attr.adb (Expand_N_Attribute_Reference): Produce
3490         Raise_Program_Error nodes for the execution of Read and Write
3491         attributes of Unchecked_Union types and the execution of Input and
3492         Output attributes of Unchecked_Union types that lack default
3493         discriminant values.
3494
3495         * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
3496         Unchecked_Union. Add procedure Check_Component. It is used to inspect
3497         per-object constrained components of Unchecked_Unions for being
3498         Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
3499         check individual components withing a variant.
3500
3501         * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
3502         comparison of Unchecked_Unions.
3503         (Resolve_Equality_OP): Remove guard that prevents equality between
3504         Unchecked_Unions.
3505
3506         * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
3507         of component subtypes for Unchecked_Union components.
3508         (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
3509         since it is the actual subtype.
3510
3511         * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
3512         pass of Unchecked_Union subtypes as generic actuals to formal types
3513         that lack known_discriminant_parts or that are derived Unchecked_Union
3514         types, and do nothing. In any other case, produce an error message.
3515
3516         * sem_ch3.adb (Analyze_Component_Declaration): Add function
3517         Contains_POC. It determines whether a constraint uses the discriminant
3518         of an enclosing record type.
3519         Add condition to detect per-object constrained component and set the
3520         appropriate flag.
3521         (Derived_Type_Declaration): Remove guard that prevents derivation from
3522         Unchecked_Union types.
3523         (Process_Subtype): Remove quard that prevents the creation of Unchecked_
3524         Union subtypes.
3525
3526         * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
3527         references to Unchecked_Union discriminants.
3528
3529         * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
3530         formal generation when dealing with Unchecked_Unions.
3531         (Set_Actual_Subtypes): Add condition to prevent generation of actual
3532         subtypes for Unchecked_Unions.
3533
3534         * sem_ch7.adb (Analyze_Package_Specification): Add procedure
3535         Inspect_Unchecked_Union_Completion. It is used to detect incorrect
3536         completions of discriminated partial views by Unchecked_Unions and
3537         produce an error message.
3538
3539 2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3540
3541         * trans.c (struct stmt_group): New field, GLOBAL.
3542         (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
3543         (struct elab_info): New struct.
3544         (elab_info_list, gnu_elab_proc_stack): New variables.
3545         (Compilation_Unit_to_gnu): New procedure.
3546         (gigi): Call it and also handle elaboration procs we've saved.
3547         (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
3548         global field from parent.
3549         (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
3550         (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
3551         (start_stmt_group): Initialize global field from parent.
3552         (add_decl_expr): Set to global for current statement group.
3553         (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
3554         post.
3555
3556         * utils.c (global_bindings_p): True when no current_function_decl; no
3557         longer check current_binding_level.
3558
3559 2004-08-09  Ben Brosgol  <brosgol@gnat.com>
3560
3561         * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
3562         choice.
3563
3564         * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
3565
3566 2004-08-06  Andreas Schwab  <schwab@suse.de>
3567
3568         * utils.c (gnat_define_builtin): Remove second parameter of
3569         make_decl_rtl.
3570         (begin_subprog_body): Likewise.
3571
3572 2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
3573
3574         * sem_util.adb (Requires_Transient_Scope): Temporarily disable
3575         optimization, not supported by the tree-ssa back-end.
3576
3577 2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
3578
3579         * s-mastop-irix.adb: Update comments.
3580
3581         * a-except.adb (Exception_Information): Raise Constraint_Error if
3582         exception Id is Null_Id.
3583         This is required behavior, which is more reliably and clearly checked
3584         at the top level interface level.
3585
3586 2004-07-26  Javier Miranda  <miranda@gnat.com>
3587
3588         * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
3589         call if a component has no default_expression and the box is used.
3590
3591         * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
3592         default_expression and you use box, it behaves as if you had declared a
3593         stand-alone object.
3594         (Resolve_Record_Aggregate): If a component has no default_expression and
3595         you use box, it behaves as if you had declared a stand-alone object.
3596
3597         * sem_ch10.adb (Install_Siblings): Do not make visible the private
3598         entities of private-with siblings.
3599
3600 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
3601
3602         * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
3603         for a component of an itype, set the parent pointer for analysis,
3604         there is no list in which to insert it.
3605
3606         * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
3607         bona-fide renamings, not for inherited operations.
3608
3609         * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
3610         actual for a formal that is an access parameter, create local
3611         finalization list even if the expression is not an aggregate.
3612
3613 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
3614
3615         PR ada/16213
3616         * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
3617         Diagnose properly illegal subprogram renamings that are library units.
3618
3619 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
3620
3621         PR ada/15588
3622         * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
3623         conversion rewritten as an unchecked conversion, check that original
3624         expression is a variable.
3625
3626         * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
3627         unchecked_conversion, create new node rather than rewriting in place,
3628         to preserve original construct.
3629
3630 2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3631
3632         * gigi.h (gnat_expand_body): Deleted.
3633
3634         * Make-lang.in: (trans.o): Depends on function.h.
3635
3636         * misc.c: (gnat_expand_body): Moved to here.
3637
3638         * trans.c (gnat_expand_body_1): Deleted.
3639         (gnat_expand_body): Moved from here.
3640         (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
3641         (add_stmt): Check for marked visited with global_bindings_p.
3642         (gnat_gimplify_expr, case COMPONENT_REF): New case.
3643         (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
3644
3645         * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
3646         VIEW_CONVERT_EXPR if not operation type.
3647
3648         * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
3649         fat pointer.
3650
3651         * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
3652         changes: reformatting of negation operators, removing unneeded
3653         inequality comparison with zero, converting equality comparisons with
3654         zero to negations, changing int/0/1 to bool/false/true, replace calls
3655         to gigi_abort with abort, and various other similar changes.
3656
3657 2004-07-26  Vincent Celier  <celier@gnat.com>
3658
3659         * gnatcmd.adb (GNATCmd): Add processing for new built-in command
3660         "setup".
3661
3662         * make.adb (Gnatmake): Fail when a library is not present and there is
3663         no object directory.
3664
3665         * mlib-prj.adb (Check_Library): No need to check if the library needs
3666         to be rebuilt if there is no object directory, hence no object files
3667         to build the library.
3668
3669         * opt.ads (Setup_Projects): New Boolean flag.
3670
3671         * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
3672         Location.
3673         Create directory when Kind /= "" and in "gnat setup". Report error if
3674         directory cannot be created.
3675         (Ada_Check): Create library interface copy dir if it does not exist
3676         and we are in "gnat setup".
3677         (Find_Sources): No error if in "gnat setup" and no Ada sources were
3678         found.
3679         (Language_Independent_Check): Create object directory, exec directory
3680         and/or library directory if they do not exist and we are in
3681         "gnat setup".
3682
3683         * vms_conv.ads: (Command_Type): New command Setup.
3684
3685         * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
3686
3687         * vms_data.ads: Add qualifiers/switches for new built-in command
3688         "setup".
3689
3690 2004-07-25  Richard Henderson  <rth@redhat.com>
3691
3692         * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
3693         DECL_IGNORED_P on RESULT_DECL.
3694
3695 2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
3696
3697         * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
3698         allocation and potentially overflowing update with
3699         Tailored_Exception_Information. Use the sec-stack free procedural
3700         interface to output Exception_Information instead.
3701
3702         * a-except.adb (To_Stderr): New subprogram for character, and string
3703         version moved from a-exextr to be visible from other separate units.
3704         (Tailored_Exception_Information): Remove the procedural version,
3705         previously used by the default Last_Chance_Handler and not any more.
3706         Adjust various comments.
3707
3708         * a-exexda.adb: Generalize the exception information procedural
3709         interface, to minimize the use of secondary stack and the need for
3710         local buffers when the info is to be output to stderr:
3711         (Address_Image): Removed.
3712         (Append_Info_Character): New subprogram, checking for overflows and
3713         outputing to stderr if buffer to fill is of length 0.
3714         (Append_Info_String): Output to stderr if buffer to fill is of length 0.
3715         (Append_Info_Address, Append_Info_Exception_Name,
3716         Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
3717         Append_Info_Basic_Exception_Traceback,
3718         Append_Info_Exception_Information): New subprograms.
3719         (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
3720         (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
3721         Exception_Info_Maxlength, Exception_Name_Length,
3722         Exception_Message_Length): New subprograms.
3723         (Exception_Information): Use Append_Info_Exception_Information.
3724         (Tailored_Exception_Information): Use
3725         Append_Info_Basic_Exception_Information.
3726         Export services for the default Last_Chance_Handler.
3727
3728         * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
3729         other separate units.
3730
3731 2004-07-20  Vincent Celier  <celier@gnat.com>
3732
3733         * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
3734
3735 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
3736
3737         * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
3738         emit itype references for the designated types of component types that
3739         are declared outside of the full record declaration, and that may
3740         denote a partial view of that record type.
3741
3742 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
3743
3744         PR ada/15607
3745         * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
3746         which is the designated type in an access component declaration, to the
3747         list of incomplete dependents of the parent type, to avoid elaboration
3748         issues with out-of-scope subtypes.
3749         (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
3750         full view of the parent.
3751
3752 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
3753
3754         PR ada/15610
3755         * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
3756         entities that are hidden, such as references to generic actuals
3757         outside an instance.
3758
3759 2004-07-20  Javier Miranda  <miranda@gnat.com>
3760
3761         * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
3762         support to the new notation.
3763         (Analyze_Selected_Component): Add call to Try_Object_Operation.
3764
3765 2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
3766
3767         * s-taprob.adb: Adding the elaboration code required for initializing
3768         the tasking soft links that are common to the full and the restricted
3769         run times.
3770
3771         * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
3772         restricted run time has been moved to the package
3773         System.Soft_Links.Tasking.
3774
3775         * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
3776         restricted run time has been moved to the package
3777         System.Soft_Links.Tasking.
3778
3779         * Makefile.rtl: Add entry for s-solita.o in run-time library list.
3780
3781         * s-solita.ads, s-solita.adb: New files.
3782
3783 2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3784
3785         * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
3786         Case_Statement_to_gnu): Split off from gnat_to_gnu.
3787         (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
3788         Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
3789         Exception_Handler_to_gnu_zcx): Likewise.
3790
3791 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
3792
3793         * gigi.h (builtin_function): Declare.
3794
3795 2004-07-15  Robert Dewar  <dewar@gnat.com>
3796
3797         * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
3798         reformatting
3799
3800         * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
3801         access values as an example of a warning.
3802
3803         * gnat_rm.texi: Document new attribute Has_Access_Values
3804
3805         * gnat-style.texi: Document that box comments belong on nested
3806         subprograms
3807
3808         * sem_util.ads (Has_Access_Values): Improved documentation
3809
3810         * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
3811
3812         * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
3813         (Process_Interface_Name): Call to this new procedure
3814         (Set_Extended_Import_Export_External_Name): Call to this new procedure
3815
3816         * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
3817
3818         * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
3819
3820         * einfo.ads: Minor comment typo fixed
3821
3822 2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
3823
3824         * snames.adb: Add _atcb.
3825
3826         * snames.ads: Add Name_uATCB.
3827
3828         * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
3829         (in the expanded code) when using the restricted run time.
3830
3831         * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
3832         a in parameter in order to allow ATCBs to be preallocated (in the
3833         expanded code).
3834
3835         * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
3836         order to allow ATCBs to be preallocated. In case of error, the ATCB is
3837         deallocated in System.Tasking.Stages.
3838
3839         * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
3840         order to allow ATCBs to be preallocated.
3841
3842         * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
3843         here. It was previously done in Initialize_ATCB.
3844
3845         * rtsfind.ads: Make the Ada_Task_Control_Block visible.
3846
3847         * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
3848         Restricted run time.
3849
3850         * exp_ch3.adb: When using the Restricted run time, pass the
3851         preallocated Ada_Task_Control_Block when creating a task.
3852
3853 2004-07-15  Ed Schonberg  <schonberg@gnat.com>
3854
3855         * sem_util.adb (Normalize_Actuals): If there are no actuals on a
3856         function call that is itself an actual in an enclosing call, diagnose
3857         problem here rather than assuming that resolution will catch it.
3858
3859         * sem_ch7.adb (Analyze_Package_Specification): If the specification is
3860         the local copy of a generic unit for a formal package, and the generic
3861         is a child unit, install private part of ancestors before compiling
3862         private part of spec.
3863
3864         * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
3865         use scope entities rather than tree structures, to handle properly
3866         parent units that are instances rewritten as bodies for inlining
3867         purposes.
3868
3869         * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
3870         Remove_Parents): Handle properly a parent unit that is an
3871         instantiation, when the unit has been rewritten as a body for inlining
3872         purposes.
3873
3874         * par.adb (Goto_List): Global variable to collect goto statements in a
3875         given unit, for use in detecting natural loops.
3876
3877         * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
3878         use in detecting natural loops.
3879
3880         * par-labl.adb (Find_Natural_Loops): Recognize loops create by
3881         backwards goto's, and rewrite as a infinite loop, to improve locality
3882         of temporaries.
3883
3884         * exp_util.adb (Force_Evaluation): Recognize a left-hand side
3885         subcomponent that includes an indexed reference, to prevent the
3886         generation of copies that would miscompile the desired assignment
3887         statement.
3888         (Build_Task_Image_Decls): Add a numeric suffix to
3889         generated name for string variable, to avoid spurious conflicts with
3890         the name of the type of a single protected object.
3891
3892         * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
3893         loop with an explicit exit statement, to avoid generating an
3894         out-of-range value with 'Succ leading to spurious constraint_errors
3895         when compiling with -gnatVo.
3896
3897 2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
3898
3899         * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
3900         might not be analyzed yet, even if its Etype is already set (case of an
3901         unchecked conversion built using Unchecked_Convert_To, for example).
3902         If the prefix has already been analyzed, this will be a nop anyway.
3903
3904         * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
3905         controller type, or an assignment of a record type with controlled
3906         components, copy only user data, and leave the finalization chain
3907         pointers untouched.
3908
3909 2004-07-15  Vincent Celier  <celier@gnat.com>
3910
3911         * make.adb (Collect_Arguments): Improve error message when attempting
3912         to compile a source not part of any project, when -x is not used.
3913
3914         * prj.ads: (Defined_Variable_Kind): New subtype
3915
3916         * prj-attr.adb (Register_New_Package): Two new procedures to register
3917         a package with or without its attributes.
3918         (Register_New_Attribute): Mew procedure to register a new attribute in a
3919         package.
3920         New attribute oriented subprograms: Attribute_Node_Id_Of,
3921         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
3922         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
3923         Next_Attribute.
3924         New package oriented subprograms: Package_Node_Id_Of,
3925         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
3926
3927         * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
3928         type.
3929         (Package_Node_Id): Now a private, self initialized type
3930         (Register_New_Package): New procedure to register a package with its
3931         attributes.
3932         New attribute oriented subprograms: Attribute_Node_Id_Of,
3933         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
3934         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
3935         Next_Attribute.
3936         New package oriented subprograms: Package_Node_Id_Of,
3937         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
3938
3939         * prj-dect.adb (Parse_Attribute_Declaration,
3940         Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
3941
3942         * prj-makr.adb (Make): Parse existing project file before creating
3943         other files. Fail if there was an error during parsing.
3944
3945         * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
3946         new spec of Prj.Attr.
3947
3948         * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
3949         to new spec of Prj.Attr.
3950
3951 2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3952
3953         * utils2.c: Fix typo in comment.
3954
3955 2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3956
3957         * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
3958         * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
3959
3960 2004-07-14  Andreas Schwab  <schwab@suse.de>
3961
3962         * trans.c (gnat_init_stmt_group): Remove duplicate definition.
3963
3964 2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3965
3966         * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
3967         object type.
3968         (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
3969         TYPE_STUB_DECL.
3970
3971         * misc.c (gnat_types_compatible_p): New function.
3972         (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
3973         (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
3974
3975         * trans.c (gigi): Move processing of main N_Compilation_Unit here.
3976         (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
3977         (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
3978         (mark_visited): Don't mark dummy type.
3979         (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
3980         parameter, we must remove any LJM building from GNU_NAME.
3981         (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
3982         (pos_to_constructor): Use int_const_binop.
3983         (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
3984         PARM_DECL.
3985
3986         * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
3987         (gnat_pushlevel): Set TREE_USE on BLOCK node.
3988         (gnat_install_builtins): Add __builtin_memset.
3989
3990 2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
3991
3992         * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
3993         for a renaming, stabilize the initialization expression if we are at a
3994         local level.  At the local level, uses of the renaming may be performed
3995         by a direct dereference of the initializing expression, and we don't
3996         want possible variables there to be evaluated for every use.
3997
3998         * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
3999         Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
4000         them on the way.  Account for the fact that we may introduce side
4001         effects in the process.
4002
4003 2004-07-13  Richard Henderson  <rth@redhat.com>
4004
4005         * misc.c (default_pass_by_ref): Use pass_by_reference.
4006
4007 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
4008
4009         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
4010         LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
4011
4012 2004-07-08  Richard Henderson  <rth@redhat.com>
4013
4014         * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
4015         commentary.
4016
4017 2004-07-06  Vincent Celier  <celier@gnat.com>
4018
4019         * vms_conv.ads: Minor reformatting.
4020         Alphabetical order for enumerated values of type Command_Type, to have
4021         the command in alphabetical order for the usage.
4022
4023         * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
4024         the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
4025
4026         * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
4027
4028         * makegpr.adb (Global_Archive_Exists): New global Boolean variable
4029         (Add_Archive_Path): Only add the global archive if there is one.
4030         (Build_Global_Archive): Set Global_Archive_Exists depending if there is
4031         or not any object file to put in the global archive, and don't build
4032         a global archive if there is none.
4033         (X_Switches): New table
4034         (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
4035         in the X_Switches table, if any.
4036         (Initialize): Make sure the X_Switches table is empty
4037         (Scan_Arg): Record -X switches in table X_Switches
4038
4039         * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
4040
4041         * make.adb: Minor comment fix
4042
4043         * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
4044         invoked with directory information, add the directory in front of the
4045         path.
4046
4047         * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
4048         invoked with directory information, add the directory in front of the
4049         path.
4050
4051         * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
4052         when Keep_Temporary_Files is False.
4053         (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
4054         directory information, add the directory in front of the path.
4055         When not on VMS, handle new switch -dn before the command to set
4056         Keep_Temporary_Files to True.
4057         (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
4058         everywhere.
4059
4060         * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
4061         invoked with directory information, add the directory in front of the
4062         path.
4063
4064 2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
4065
4066         * snames.ads, snames.adb (Name_Stub): New name for the distributed
4067         systems annex.
4068
4069         * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
4070         New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
4071
4072         * g-socket.adb (To_Timeval): Fix incorrect conversion of
4073         Selector_Duration to Timeval for the case of 0.0.
4074
4075         * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
4076         documentation from Evolve_And_Then.
4077
4078 2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
4079
4080         * s-taprop-tru64.adb, s-taprop-os2.adb,
4081         s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
4082
4083 2004-07-06  Robert Dewar  <dewar@gnat.com>
4084
4085         * s-osinte-hpux.ads, s-osinte-freebsd.ads,
4086         s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
4087         s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
4088         s-interr-sigaction.adb, s-taprop-irix-athread.adb,
4089         s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
4090         s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
4091         s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
4092         s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
4093         a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
4094         a-tags.ads, bindgen.ads, checks.adb, checks.adb,
4095         csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
4096         exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
4097         g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
4098         i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
4099         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
4100         sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
4101         sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
4102         s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
4103         s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
4104         s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
4105         vms_data.ads: Minor reformatting,
4106         Fix bad box comment format.
4107
4108         * gnat_rm.texi: Fix minor grammatical error
4109
4110         * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
4111
4112         * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
4113         more cases of discriminated records to be recognized as not needing a
4114         secondary stack.
4115         (Has_Access_Values): New function.
4116
4117         * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
4118
4119         * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
4120         Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
4121         with LRM terminology).
4122         Change terminology in comments primitive type => elementary type.
4123
4124 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
4125
4126         PR ada/15602
4127         * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
4128         parameters do not impose any requirements on the presence of a body.
4129
4130 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
4131
4132         PR ada/15593
4133         * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
4134         compilation unit and is in an open scope at the point of instantiation,
4135         assume that a body may be present later.
4136
4137 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
4138
4139         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
4140         Improve error message when specified size is not supported.
4141
4142         * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
4143         is never a primitive operation.
4144
4145 2004-07-05  Andreas Schwab  <schwab@suse.de>
4146
4147         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
4148         RECORD_OR_UNION_CHECK.
4149         (TYPE_CONTAINS_TEMPLATE_P): Likewise.
4150
4151 2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
4152
4153         * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
4154         dependency on xgnatugn, instead build it via a submake.
4155         (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
4156
4157 2004-07-04  Richard Henderson  <rth@redhat.com>
4158
4159         * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
4160
4161 2004-07-01  Richard Henderson  <rth@redhat.com>
4162
4163         * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
4164         * utils.c (max_size): Likewise.
4165
4166 2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4167
4168         * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
4169         and rest_of_type_compilation; add arg to create_*_decl.
4170         (annotate_decl_with_node): Deleted.
4171         (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
4172         * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
4173         (get_current_block_context, gnat_pushdecl): New declarations.
4174         (gnat_init_stmt_group): Likewise.
4175         (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
4176         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
4177         (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
4178         (gnat_init): Call gnat_init_stmt_group.
4179         * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
4180         (gnu_pending_elaboration_list): Deleted.
4181         (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
4182         (gigi): Rearrange initialization calls and move some to last above.
4183         (gnat_to_gnu): If statement and not in procedure, go into elab proc.
4184         Delete calls to add_decl_expr; add arg to create_*_decl.
4185         (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
4186         (gnat_to_gnu, case N_Subprogram_Body): Move some code to
4187         begin_subprog_body and call it.
4188         Don't push and pop ggc context.
4189         (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
4190         (add_stmt): Remove handling of DECL_EXPR from here.
4191         If not in function, mark visited.
4192         (add_decl_expr): Put global at top level.
4193         Check for cases of DECL_INITIAL we have to handle here.
4194         (process_type): Add extra arg to create_type_decl.
4195         (build_unit_elab): Rework to just gimplify.
4196         * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
4197         (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
4198         (get_pending_elaborations, pending_elaborations_p): Likewise.
4199         (push_pending_elaborations, pop_pending_elaborations): Likewise.
4200         (get_elaboration_location, insert_elaboration_list): Likewise.
4201         (gnat_binding_level): Renamed from ada_binding_level.
4202         (init_gnat_to_gnu): Don't clear pending_elaborations.
4203         (global_bindings_p): Treat as global if no current_binding_level.
4204         (set_current_block_context): New function.
4205         (gnat_pushdecl): Renamed from pushdecl; major rework.
4206         All callers changed.
4207         (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
4208         (finish_record_type): Call call pushdecl for stub decl.
4209         (function_nesting_depth): Deleted.
4210         (begin_subprog_body): Delete obsolete code.
4211         * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
4212
4213 2004-06-28  Robert Dewar  <dewar@gnat.com>
4214
4215         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
4216         mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
4217         mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
4218         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
4219         a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
4220
4221         * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
4222         deal with problem of inefficient slices on machines with strict
4223         alignment, when the slice is a component of a composite.
4224
4225         * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
4226         machines, we need the check there as well.
4227
4228 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
4229
4230         * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
4231         determine safe copying direction for overlapping slice assignments
4232         when component is controlled.
4233
4234         * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
4235         formal derived type in the actual for a formal package are visible in
4236         the enclosing instance.
4237
4238 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
4239
4240         PR ada/15600
4241         * sem_util.adb (Trace_Components): Diagnose properly an illegal
4242         circularity involving a private type whose completion includes a
4243         self-referential component.
4244         (Enter_Name): Use Is_Inherited_Operation to distinguish a source
4245         renaming or an instantiation from an implicit derived operation.
4246
4247 2004-06-28  Pascal Obry  <obry@gnat.com>
4248
4249         * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
4250         DLL.
4251         (Library_File_Name_For): Idem.
4252
4253 2004-06-28  Matthew Gingell  <gingell@gnat.com>
4254
4255         * g-traceb.ads: Add explanatory note on the format of addresses
4256         expected by addr2line.
4257
4258 2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
4259
4260         * Makefile.in: Force debugging information on s-tasdeb.adb,
4261         a-except.adb and s-assert.adb needed by the debugger.
4262
4263 2004-06-28  Vincent Celier  <celier@gnat.com>
4264
4265         * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
4266         Need_To_Build_Lib.
4267         (Gnatmake): Ditto.
4268
4269         * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
4270
4271         * prj.adb: Minor reformatting
4272         (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
4273
4274         * prj.ads: Comment updates
4275         Minor reformatting
4276         (Project_Data): Change Flag1 to Need_To_Build_Lib.
4277         Remove Flag2: not used.
4278
4279         * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
4280         declaration.
4281
4282         * gnat_ugn.texi: Put a "null;" declaration in one project file example
4283
4284         * gnat_rm.texi: Document Empty declarations "null;".
4285
4286         * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
4287         front of the linker options.
4288         (Link_Foreign): Put the global archives and the libraries in front of
4289         the linker options.
4290
4291 2004-06-28  Javier Miranda  <miranda@gnat.com>
4292
4293         * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
4294         (RTU_Loaded): Code cleanup
4295         (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
4296         withed predefined units.
4297
4298         * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
4299         explicitly withed predefined units.
4300         Fix typo in comment
4301
4302         * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
4303         explicitly withed predefined units.
4304
4305 2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4306
4307         * ada-tree.def (DECL_STMT): Deleted.
4308         * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
4309         (DECL_STMT_VAR): Deleted.
4310         * decl.c: add_decl_stmt now add_decl_expr.
4311         * gigi.h: Likewise.
4312         * trans.c: Likewise.
4313         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
4314         (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
4315         (add_stmt): Only handle padded type here.
4316         (add_stmt_with_node): Allow gnat_node to not be present.
4317         (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
4318         (gnat_gimplify_stmt, case DECL_STMT): Deleted.
4319         (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
4320         make a SAVE_EXPR for the entire fat pointer.
4321         * utils.c (pushdecl): Walk a DECL_EXPR in global case.
4322         (create_index_type): Make a DECL_EXPR.
4323         (end_subprog_body): Don't call allocate_struct_function here but
4324         do clear cfun.
4325
4326 2004-06-25  Pascal Obry  <obry@gnat.com>
4327
4328         * makegpr.adb (Build_Library): Remove parameter Lib_Address and
4329         Relocatable from Build_Dynamic_Library call.
4330
4331         * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
4332         Relocatable are now synonym.
4333
4334         * Makefile.in: Use s-parame-mingw.adb on MingW platform.
4335
4336         * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
4337         Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
4338         call.
4339
4340         * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
4341         Lib_Address and Relocatable.
4342         (Default_DLL_Address): Removed.
4343
4344         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
4345         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
4346         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
4347         (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
4348         (Default_DLL_Address): Removed.
4349
4350         * mlib-tgt-mingw.adb: Ditto.
4351         (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
4352
4353         * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
4354         the initial thread stack size.
4355
4356         * a-strmap.ads: Move package L to private part as it is not used in
4357         the spec. Found while reading code.
4358
4359 2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
4360
4361         * tracebak.c: Introduce support for a GCC infrastructure based
4362         implementation of __gnat_backtrace.
4363
4364         * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
4365         any more. Use accessors instead. This eases maintenance and relaxes
4366         some alignment constraints.
4367         (_GNAT_Exception structure): Remove the Ada specific fields
4368         (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
4369         a-exexpr.adb.
4370         (is_handled_by, __gnat_eh_personality): Replace component references to
4371         exception structure by use of the new accessors.
4372
4373         * init.c (__gnat_initialize): Adjust comments to match the just
4374         reverted meaning of the -static link-time option.
4375
4376         * adaint.c (convert_addresses): Arrange not to define a stub for
4377         mips-irix any more, as we now want to rely on a real version from a
4378         recent libaddr2line.
4379
4380         * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
4381         the personality routine can use them and not have to rely on a C
4382         counterpart of the record anymore. This simplifies maintenance and
4383         relaxes the constraint of having Standard'Maximum_Alignment match
4384         BIGGEST_ALIGNMENT.
4385         Update comments, and add a section on the common header alignment issue.
4386
4387 2004-06-25  Geert Bosch  <bosch@gnat.com>
4388
4389         * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
4390         polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
4391
4392 2004-06-25  Robert Dewar  <dewar@gnat.com>
4393
4394         * gnat_rm.texi: Fix section on component clauses to indicate that the
4395         restriction on byte boundary placement still applies for bit packed
4396         arrays.
4397         Add comment on stack usage from Initialize_Scalars
4398
4399         * gnat_ugn.texi: Add documentation for -gnatyLnnn
4400
4401         * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
4402         limiting nesting level.
4403
4404         * usage.adb: Add line for -gnatyLnnn switch
4405
4406         * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
4407         sem_ch13.adb, exp_aggr.adb: Minor reformatting
4408
4409         * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
4410         type as well as on the subtype. This corrects a problem in freeze in
4411         setting alignments of atomic types.
4412
4413         * sem_eval.ads: Minor comment typo fixed
4414
4415         * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
4416         level.  Minor reformatting.
4417
4418         * fname.adb (Is_Predefined_File_Name): Require a letter after the
4419         minus sign. This means that file names like a--b.adb will not be
4420         considered predefined.
4421
4422         * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
4423         record Test new flag and give diagnostic for bad component clause.
4424         (Freeze_Entity): Set alignment of array from component alignment in
4425         cases where this is safe to do.
4426
4427         * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
4428         arrays.
4429
4430         * cstand.adb: (Create_Standard): Set alignment of String to 1
4431
4432         * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
4433
4434         * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
4435         code in the common constrained array cases.
4436
4437         * a-storio.adb: Change implementation to avoid possible alignment
4438         problems on machines requiring strict alignment (data should be moved
4439         as type Buffer, not type Elmt).
4440
4441         * checks.adb (Apply_Array_Size_Check): Improve these checks by
4442         killing the overflow checks which we really do not need (64-bits is
4443         enough).
4444
4445 2004-06-25  Vincent Celier  <celier@gnat.com>
4446
4447         * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
4448         (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
4449         inconditionally for the main project.
4450         (Recursive_Add_Archives.Add_Archive_Path): New procedure
4451         (Link_Executables.Check_Time_Stamps): New procedure
4452         (Link_Executables.Link_Foreign): New procedure
4453         Changes made to reduce nesting level of this package
4454         (Check): New procedure
4455         (Add_Switches): When not in quiet output, check that a switch is not
4456         the concatenation of several valid switches. If it is, issue a warning.
4457         (Build_Global_Archive): If the global archive is rebuilt, linking need
4458         to be done.
4459         (Compile_Sources): Rebuilding a library archive does not imply
4460         rebuilding the global archive.
4461         (Build_Global_Archive): New procedure
4462         (Build_Library): New name for Build_Archive, now only for library
4463         project
4464         (Check_Archive_Builder): New procedure
4465         (Create_Global_Archive_Dependency_File): New procedure
4466         (Gprmake): Call Build_Global_Archive before linking
4467         * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
4468         throughout.
4469         (Scan_Arg): Display the Copyright notice when -v is used
4470
4471         * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
4472         for gnatls.
4473
4474         * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
4475         COMPILE.
4476         Add new GNAT LIST qualifier /FILES=
4477         Added qualifier /DIRECTORY= to GNAT METRIC
4478         Added qualifier /FILES= to GNAT METRIC
4479         Added qualifier /FILES to GNAT PRETTY
4480
4481         * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
4482         to take into account both versions of the switch.
4483
4484         * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
4485         always be the last switch to the gcc driver. Disable switch storing so
4486         that switches automatically added by the gcc driver are not put in the
4487         ALI file.
4488
4489         * prj.adb (Project_Empty): Take into account changes in components of
4490         Project_Data.
4491
4492         * prj.ads (Languages_Processed): New enumaration value All_Languages.
4493
4494         * prj.ads (Project_Data): Remove component Lib_Elaboration: never
4495         used. Split Boolean component Ada_Sources_Present in two Boolean
4496         components Ada_Sources_Present and Other_Sources_Present.
4497         Minor reformatting
4498
4499         * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
4500         instead of Sources_Present.
4501         (Set_Ada_Paths.Add.Recursive_Add): Ditto
4502
4503         * prj-nmsc.adb: Minor reformatting
4504         (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
4505         (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
4506         Check_Ada_Naming_Scheme.
4507         Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
4508         throughout.
4509
4510         * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
4511         In_Limited.
4512         Make sure that all cycles where there is at least one "limited with"
4513         are detected.
4514         (Parse_Single_Project): New Boolean parameter In_Limited
4515
4516         * prj-proc.adb (Recursive_Check): When Process_Languages is
4517         All_Languages, call first Prj.Nmsc.Ada_Check, then
4518         Prj.Nmsc.Other_Languages_Check.
4519
4520         * prj-proc.adb (Process): Use Ada_Sources_Present or
4521         Other_Sources_Present (instead of Sources_Present) depending on
4522         Process_Languages.
4523
4524         * lang-specs.h: Keep -g and -m switches in the same order, and as the
4525         last switches.
4526
4527         * lib.adb (Switch_Storing_Enabled): New global Boolean flag
4528         (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
4529         False.
4530         (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
4531         False.
4532
4533         * lib.ads (Disable_Switch_Storing): New procedure.
4534
4535         * make.adb: Modifications to reduce nesting level of this package.
4536         (Check_Standard_Library): New procedure
4537         (Gnatmake.Check_Mains): New procedure
4538         (Gnatmake.Create_Binder_Mapping_File): New procedure
4539         (Compile_Sources.Compile): Add switch -gnatez as the last option
4540         (Display): Never display -gnatez
4541
4542         * Makefile.generic:
4543         When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
4544
4545         * gnatcmd.adb (Check_Project): New function
4546         (Process_Link): New procedure to reduce nesting depth
4547         (Check_Files): New procedure to reduce the nesting depth.
4548         For GNAT METRIC, include the inherited sources in extending projects.
4549         (GNATCmd): When GNAT LS is invoked with a project file and no files,
4550         add the list of files from the sources of the project file. If this list
4551         is too long, put it in a temp text files and use switch -files=
4552         (Delete_Temp_Config_Files): Delete the temp text file that contains
4553         a list of source for gnatpp or gnatmetric, if one has been created.
4554         (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
4555         in the project file is too large, create a temporary text file that
4556         list them and pass it to the tool with "-files=<temp text file>".
4557         (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
4558
4559         * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
4560         generated file is in not in Ada.
4561
4562         * gnatls.adb: Remove all parameters And_Save that are no longer used.
4563         (Scan_Ls_Arg): Add processing for -files=
4564         (Usage): Add line for -files=
4565
4566         * g-os_lib.adb (On_Windows): New global constant Boolean flag
4567         (Normalize_Pathname): When on Windows and the path starts with a
4568         directory separator, make sure that the resulting path will start with
4569         a drive letter.
4570
4571         * clean.adb (Clean_Archive): New procedure
4572         (Clean_Project): When there is non-Ada code, delete the global archive,
4573         the archive dependency files, the object files and their dependency
4574         files, if they exist.
4575         (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
4576
4577 2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
4578
4579         * sinfo.ads: Fix typo in comment.
4580
4581         * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
4582         the TSS for remote access-to-subprogram types, since these TSS are
4583         always present once the type has been analyzed.
4584         (RAS_E_Dereference): Same.
4585
4586         * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
4587         reference raises Bad_Attribute, mark the reference as analyzed so the
4588         node (and any children resulting from rewrites that could have occurred
4589         during the analysis that ultimately failed) is not analyzed again.
4590
4591         * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
4592
4593         * exp_dist.adb: Minor comment fix.
4594
4595         * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
4596         type is an anonymous access type, no unchecked deallocation of the
4597         allocated object can occur. If the object is controlled, attach it with
4598         a count of 1. This allows attachment to the Global_Final_List, if
4599         no other relevant list is available.
4600         (Get_Allocator_Final_List): For an anonymous access type that is
4601         the type of a discriminant or record component, the corresponding
4602         finalisation list is the one of the scope of the type.
4603
4604 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
4605
4606         * sem_ch3.adb (Replace_Type): When computing the signature of an
4607         inherited subprogram, use the first subtype if the derived type
4608         declaration has no constraint.
4609
4610         * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
4611         before applying previous optimization. Minor code cleanup.
4612
4613         * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
4614         placed at the beginning of an unpacked record without explicit
4615         alignment, a slice of it will be aligned and does not need a copy when
4616         used as an actual.
4617
4618 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
4619
4620         PR ada/15591
4621         PR ada/15592
4622         * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
4623         reference is written with expressions mimicking parameters.
4624
4625 2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
4626
4627         PR ada/15589
4628         * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
4629         STEP 2a. The constraints of a full type declaration of a derived record
4630         type are checked for conformance with those declared in the
4631         corresponding private extension declaration. The message
4632         "not conformant with previous declaration" is emitted if an error is
4633         detected.
4634
4635 2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
4636
4637         * g-traceb.ads: Document the need for -E binder switch in the spec.
4638
4639         * g-trasym.ads: Document the need for -E binder switch in the spec.
4640
4641 2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
4642
4643         * sem_prag.adb: Add handling of pragma Detect_Blocking.
4644
4645         * snames.h, snames.ads, snames.adb: Add entry for pragma
4646         Detect_Blocking.
4647
4648         * s-rident.ads: Change reference to pragma Detect_Blocking.
4649
4650         * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
4651         system.ads.
4652
4653         * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
4654         to indicate whether pragma Detect_Blocking is active.
4655
4656         * par-prag.adb: Add entry for pragma Detect_Blocking.
4657
4658         * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
4659         of not handling WITH.
4660         Note that this replaces the previous update which was incorrect.
4661
4662 2004-06-25  Javier Miranda  <miranda@gnat.com>
4663
4664         * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
4665         use-clauses to have a clean environment.
4666
4667         * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
4668         the installation of the use-clauses to stablish a clean environment in
4669         case of compilation of a separate unit; otherwise the call to
4670         use_one_package is protected by the barrier Applicable_Use.
4671
4672         * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
4673         the installation of the use-clauses to stablish a clean environment in
4674         case of compilation of a separate unit.
4675         (End_Use_Clauses): Minor comment cleanup.
4676
4677 2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
4678
4679         * gnat_ugn.texi: Add description of the gnatpp 'files' switch
4680
4681 2004-06-23  Richard Henderson  <rth@redhat.com>
4682
4683         * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
4684
4685 2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4686
4687         * decl.c (elaborate_expression, elaborate_expression_1): Arguments
4688         now bool instead of int.
4689         (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
4690         * trans.c (gnu_switch_label_stack): New function.
4691         (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
4692         elaboration of renamed entity returns.
4693         (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
4694         (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
4695         (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
4696         (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
4697         DECL_SIZE_UNIT and simplify variable-sized case.
4698         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
4699         Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
4700         (gnat_stabilize_reference): Add arg to COMPONENT_REF.
4701         (build_unit_elab): Disable for now.
4702         * utils.c (mark_visited): New function.
4703         (pushdecl): Walk tree to call it for global decl.
4704         (update_pointer_to): Update all variants of pointer and ref types.
4705         Add arg to COMPONENT_REF.
4706         (convert): Likewise.
4707         Move check for converting between variants lower down.
4708         * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
4709         (build_allocator): Don't force type of MODIFY_EXPR.
4710         (gnat_mark_addressable, case VAR_DECL): Unconditionally call
4711         put_var_into_stack.
4712
4713 2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4714
4715         * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
4716         * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
4717         * decl.c (gnat_to_gnu_entity): Also set force_global for imported
4718         subprograms.
4719         * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
4720         all callers changed.
4721         (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
4722         the way that EXIT_STMT finds the loop label.
4723         (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
4724         (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
4725         (add_stmt): Use annotate_with_locus insted of setting directly.
4726         (pos_to_construct): Set TREE_PURPOSE of each entry to index.
4727         (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
4728         * utils.c (gnat_install_builtins): Install __builtin_memcmp.
4729         (build_vms_descriptor): Add extra args to ARRAY_REF.
4730         (convert): Use VIEW_CONVERT_EXPR between aggregate types.
4731         * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
4732         New cases.
4733         (build_binary_op): Don't make explicit CONVERT_EXPR.
4734         Add extra rgs to ARRAY_REF.
4735
4736 2004-06-14  Pascal Obry  <obry@gnat.com>
4737
4738         * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
4739         Windows.  Fix minor typo.
4740
4741         * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
4742         which is now supported on Windows. With this implementation using the
4743         Library Project feature is no different on Windows than on UNIX.
4744
4745 2004-06-14  Vincent Celier  <celier@gnat.com>
4746
4747         * makegpr.adb (Compile_Sources): Nothing to do when there are no
4748         non-Ada sources.
4749
4750         * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
4751
4752         * prj-part.adb (Parse_Single_Project): When a duplicate project name is
4753         found, show the project name and the path of the previously parsed
4754         project file.
4755
4756 2004-06-14  Ed Schonberg  <schonberg@gnat.com>
4757
4758         * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
4759         array, avoid copying the actual before the call.
4760
4761 2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
4762
4763         * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
4764         Instead, allocate memory on worst-case alignment assumptions, and then
4765         return an aligned address within the allocated zone.
4766
4767 2004-06-14  Robert Dewar  <dewar@gnat.com>
4768
4769         * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
4770         elab entities in predefined units in No_Run_Time_Mode.
4771         (Gen_Adainit_C): Same fix
4772         (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
4773         units in No_Run_Time_Mode
4774         (Gen_Elab_Calls_C): Same fix
4775
4776         * symbols-vms-alpha.adb: Minor reformatting
4777
4778         * g-debpoo.ads: Minor reformatting
4779
4780         * lib.adb (In_Same_Extended_Unit): Version working on node id's
4781
4782         * lib.ads (In_Same_Extended_Unit): Version working on node id's
4783
4784         * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
4785         working on nodes.
4786
4787         * make.adb: Minor reformatting
4788
4789         * par-ch12.adb: Minor reformatting
4790
4791         * par-prag.adb: Add dummy entry for pragma Profile_Warnings
4792
4793         * prj-strt.adb: Minor reformatting
4794
4795         * restrict.ads, restrict.adb: Redo handling of profile restrictions to
4796         be more general.
4797
4798         * sem_attr.adb: Minor reformatting
4799
4800         * sem_ch7.adb: Minor reformatting
4801
4802         * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
4803         for type in the same unit as the object declaration.
4804
4805         * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
4806         static string expressions and not just string literals.
4807         Minor reformatting
4808         (Set_Warning): Reset restriction warning flag for restriction pragma
4809         Implement pragma Profile_Warnings
4810         Implement pragma Profile (Restricted)
4811         Give obolescent messages for old restrictions and pragmas
4812
4813         * snames.h, snames.ads, snames.adb: Add new entry for pragma
4814         Profile_Warnings.
4815
4816         * s-rident.ads: Add declarations for restrictions required by profile
4817         Restricted and profile Ravenscar.
4818
4819         * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
4820
4821         * gnat_ugn.texi: Correct some missing entries in the list of GNAT
4822         configuration pragmas.
4823
4824 2004-06-11  Vincent Celier  <celier@gnat.com>
4825
4826         * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
4827         gnatsym, when symbol policy is Restricted.
4828
4829         * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
4830         gnatsym, when symbol policy is Restricted.
4831
4832         * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
4833         read the symbol file.
4834         (Finalize): Fail in symbol policy Restricted if a symbol in the original
4835         symbol file is not in the object files. Do not create a new symbol file
4836         when symbol policy is Restricted.
4837
4838         * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
4839         in Scng.
4840
4841         * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
4842         Restricted.
4843         (Usage): Line for new switch -R
4844
4845         * make.adb (Initialize): When the platform is not VMS, add the
4846         directory where gnatmake is invoked in the front of the path, if
4847         gnatmake is invoked with directory information.  Change the Scan_Args
4848         while loop to a for loop.
4849         (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
4850         if Depth is equal or greater than the proposed depth, there is nothing
4851         to do.
4852         (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
4853         instead of 0.
4854
4855         * prj.ads: Add new symbol policy Restricted.
4856
4857         * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
4858         with the new parameters Check_All_Labels and Case_Location.
4859
4860         * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
4861         (Library_Symbol_File needs to be defined).
4862
4863         * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
4864         and Case_Location If Check_All_Labels is True, check that all values of
4865         the string type are used, and output warning(s) if they are not.
4866
4867         * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
4868         and Case_Location.
4869
4870         * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
4871
4872         * gnat_ugn.texi: Update documentation about the library directory in
4873         Library Projects.
4874
4875         * makegpr.adb (Display_Command): In verbose mode, also display the
4876         value of the CPATH env var, when the compiler is gcc.
4877         (Initialize): Change the Scan_Args while loop to a for loop
4878         (Compile_Individual_Sources): Change directory to object directory
4879         before compilations.
4880
4881         * symbols.ads: New symbol policy Restricted.
4882
4883 2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
4884
4885         * a-except.adb (Raise_After_Setup family): Remove. The responsibility
4886         is now taken care of internally in the Exception_Propagation package
4887         and does not require clients assistance any more.
4888
4889         * a-exexpr.adb (Is_Setup_And_Not_Propagated,
4890         Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
4891         functions. Helpers to maintain a predicate required in the handling of
4892         occurrence transfer between tasks.
4893         This is now handled internally and does not require clients assistance
4894         for the setup/propagate separation anymore.
4895         (Setup_Exception, Propagate_Exception): Simplify the Private_Data
4896         allocation strategy, handle the Setup_And_Not_Propagated predicate and
4897         document.
4898
4899         * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
4900         raise_after_setup, now that everything is handled internally within the
4901         setup/propagation engine.
4902
4903 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
4904
4905         * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
4906         Add additional conditions for the case of an actual being a simple
4907         name or literal. Improve inlining by preventing the generation
4908         of temporaries with a short lifetime (one use).
4909
4910 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
4911
4912         PR ada/15587
4913
4914         * einfo.ads: Minor comment updates for Has_Completion and
4915         E_Constant list of flags.
4916
4917         * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
4918         and constant redeclarations now set the Has_Completion flag of their
4919         defining identifiers.
4920
4921         * sem_ch7.adb (Analyze_Package_Spec): Add procedure
4922         Inspect_Deferred_Constant_Completion.
4923         Used to detect private deferred constants that have not been completed
4924         either by a constant redeclaration or pragma Import. Emits error message
4925         "constant declaration requires initialization expression".
4926
4927         * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
4928         completes a deferred constant.
4929
4930 2004-06-11  Geert Bosch  <bosch@gnat.com>
4931
4932         * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
4933
4934         * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
4935         calculating exponent for scaling denormal numbers.
4936         (Leading_Part): Properly raise Constraint_Error for zero or negative
4937         Adjustment.
4938         (Remainder): Properly raise Constraint_Error for zero divisor.
4939
4940 2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
4941
4942         * sem_util.adb: Minor reformatting.
4943
4944         * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
4945         dereference when accessing the entry parameter record.
4946         (Check_Array_Type): Always check for possible implicit dereference.
4947         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
4948         Abort if a pointer is still present (denoting that an implicit
4949         dereference was left in the tree by the front-end).
4950
4951         * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
4952         dereference when accessing the entry parameter record.
4953         (Check_Array_Type): Always check for possible implicit dereference.
4954         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
4955         Abort if a pointer is still present (denoting that an implicit
4956         dereference was left in the tree by the front-end).
4957
4958 2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
4959
4960         * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
4961         message, like the compiler itself does. Easier to parse the output.
4962
4963         * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
4964
4965         * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
4966         be base names, and not includes directories.
4967
4968 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
4969
4970         * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
4971         so that dependencies are properly taken into account by make.
4972
4973 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
4974
4975         PR ada/15622
4976         * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
4977         exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
4978
4979 2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
4980
4981         * Makefile.in (install-gnatlib): install target-specific run-time files.
4982
4983         * Make-lang.in: Remove obsolete targets.
4984
4985 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
4986
4987         * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
4988         specification, to catch misuses of program unit names.
4989
4990         * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
4991         superfluous conversions in an instance.
4992
4993 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
4994
4995         PR ada/15403
4996
4997         * sem_ch12.adb (Save_References): If operator node has been folded to
4998         enumeration literal, associated_node must be discarded.
4999
5000 2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
5001
5002         * s-stchop-vxworks.adb: Add required pragma Convention to
5003         Task_Descriptor because it is updated by a C function.
5004
5005 2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
5006
5007         PR ada/15568
5008
5009         * Makefile.in: Remove target specific SO_OPT on IRIX
5010
5011 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5012
5013         * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
5014         (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
5015         (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
5016         (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
5017         (STMT_STMT, USE_STMT): New statement codes.
5018         (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
5019         * ada-tree.h: Reflect above changes.
5020         (struct tree_loop_id): Deleted.
5021         (union lang_tree_node, struct lang_decl, struct lang_type):
5022         Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
5023         and DECL_LANGUAGE_SPECIFIC to reflect these changes.
5024         (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
5025         (IS_ADA_STMT): New macro.
5026         * decl.c (annotate_decl_with_node): New function.
5027         (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
5028         (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
5029         Call add_stmt_with_node to do needed assignments.
5030         Add call to update setjmp buffer directly, not via EXPR_STMT.
5031         (maybe_variable): Argment GNAT_NODE deleted.
5032         * gigi.h (maybe_variable): Likewise.
5033         (make_transform, add_stmt_with_node, set_block_for_group): New.
5034         (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
5035         (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
5036         (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
5037         (set_lineno, set_lineno_from_sloc): Likewise.
5038         (record_code_position, insert_code_for): Likewise.
5039         (gnat_poplevel): Now returns void.
5040         (end_subprog_body): Now takes argument.
5041         * misc.c (cgraph.h, tree-inline.h): New includes.
5042         (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
5043         (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
5044         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
5045         (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
5046         (gnat_parse_file): Don't set immediate_size_expand.
5047         Call cgraph functions.
5048         (gnat_expand_expr): Remove most cases.
5049         (record_code_position, insert_code_for): Remove from here.
5050         * trans.c (toplev.h, tree-gimple.h): Now included.
5051         (discard_file_names): Deleted.
5052         (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
5053         (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
5054         (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
5055         (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
5056         (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
5057         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
5058         (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
5059         (set_block_for_group, add_stmt_list): Likewise.
5060         (start_stmt_group): Renamed from start_block_stmt.
5061         (end_stmt_group): Likewise, from end_block_stmt.
5062         (build_stmt_group): Likewise, from build_block_stmt, also add arg.
5063         (gigi): Don't set discard_file_names or call set_lineno.
5064         Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
5065         (tree_transform): Deleted, now renamed to be gnat_to_gnu.
5066         Numerous changes throughout to reflect new names and complete
5067         function-at-a-time implementation.
5068         (gnat_expand_stmt): Delete or comment out all cases.
5069         (process_inlined_subprograms): Use add_stmt.
5070         (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
5071         call set_lineno; also remove unneeded block handling.
5072         (process_type): Remove unneeded block handling.
5073         (build_unit_elab): Remove calls to deleted functions.
5074         * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
5075         (tree-dump.h): Likewise.
5076         (struct ada_binding_level): Add field jmpbuf_decl.
5077         (gnat_define_builtin, gnat_install_builtins): New.
5078         (gnat_gimplify_function, gnat_finalize): Likewise.
5079         (gnat_poplevel): No longer return BLOCK, set it instead.
5080         Remove code dealing with nested functions.
5081         (gnat_init_decl_processing): Also set size_type_node.
5082         Call gnat_install_builtins.
5083         (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
5084         (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
5085         Remove special-case for "main".
5086         (end_subprog_body): Add arg and rework for tree-ssa.
5087         (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
5088         Add case for BOOLEAN_TYPE.
5089         * utils2.c (rtl.h): Now include.
5090         (build_call_raise): Test Debug_Flag_NN directly.
5091         (build_call_alloc_dealloc): Don't use local stack allocation for now.
5092         (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
5093         (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
5094
5095 2004-06-07  Robert Dewar  <dewar@gnat.com>
5096
5097         * a-direct.ads, einfo.ads: Minor comment updates
5098
5099         * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
5100         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
5101         s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
5102         s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
5103         s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
5104
5105         * s-interr-sigaction.adb: Remove unreferenced variable
5106         (Attached_Interrupts).  Minor reformatting.
5107         Avoid use of variable I (replace by J).
5108
5109         * par-ch10.adb: Fix text of one error message
5110
5111         * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
5112         exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
5113         exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
5114         opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
5115         par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
5116         par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
5117         sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
5118         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
5119         sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
5120         sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
5121         snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
5122         2005 support.
5123
5124 2004-06-07  Doug Rupp  <rupp@gnat.com>
5125
5126         * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
5127
5128         * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
5129
5130         * mlib-tgt-vms-ia64.adb: New file.
5131
5132         * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
5133         Add mlib-tgt-vms-ia64.adb
5134         Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
5135         Move to alpha specific ifeq section.
5136         Add VMS specific versions of symbols.adb
5137         Renaming of 5q vms files.
5138
5139         * 5qsystem.ads renamed to system-vms_64.ads.
5140
5141 2004-06-07  Vincent Celier  <celier@gnat.com>
5142
5143         * a-calend.ads: Add a GNAT Note comment after function Time_Of to
5144         explain that when a time of day corresponding to the non existing hour
5145         on the day switching to DST is specified, Split may return a different
5146         value for Seconds.
5147
5148         * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
5149         to GNAT PRETTY.
5150
5151         * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
5152         (Normalize_Pathname): Only resolve VMS logical names when on VMS.
5153
5154         * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
5155         to False.
5156         If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
5157         the linking options.
5158         (Build_Library.Check_Libs): On VMS, if there is a dependency on
5159         g-trasym.ads, set Gtrasymobj_Needed to True.
5160
5161         * prj-attr.adb: Add new package Metrics for gnatmetric
5162
5163         * prj-nmsc.adb (Record_Other_Sources): Put source file names in
5164         canonical case to take into account files with upper case characters on
5165         Windows.
5166         (Ada_Check): Load the reference symbol file name in the name buffer to
5167         check it, not the symbol file name.
5168
5169         * snames.ads, snames.adb: Add standard name Metrics (name of project
5170         file package for gnatmetric).
5171
5172         * vms_conv.ads: Add Metric to Comment_Type
5173
5174         * vms_conv.adb (Initialize): Add component dor Metric in Command_List
5175
5176         * vms_data.ads: Add qualifiers for GNAT METRIC
5177
5178         * makegpr.adb (Link_Executables): Take into account the switches
5179         specified in package Linker of the main project.
5180
5181 2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
5182
5183         * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
5184         the index of the last element is Units.Last, not Units.Table'Last
5185         (which is usually not a valid index within the actually allocated
5186         storage for the table).
5187
5188         * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
5189         determines whether to generate a call to a checked storage pool
5190         Dereference action.
5191         Generate such a call only for a dereference that either comes from
5192         source, or is the result of rewriting a dereference that comes from
5193         source.
5194
5195 2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
5196
5197         * bindgen.adb (Gen_Output_File): Add support for GAP builds.
5198
5199 2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
5200
5201         (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
5202         file level, elaborate the stride for inner dimensions in alignment
5203         units, not bytes.
5204
5205         * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
5206         in a comment.
5207
5208 2004-06-07  Javier Miranda  <miranda@gnat.com>
5209
5210         * exp_ch6.adb: Correct wrong modification in previous patch
5211
5212 2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
5213
5214         * g-trasym.ads: Corrected comment to properly reflect level of support
5215         on VMS.
5216
5217 2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
5218
5219         * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
5220         includes case of a variable referenced on the left hand side of an
5221         assignment, therefore remove redundant code. Variables and prefixes of
5222         indexed or selected components are now marked as referenced on left
5223         hand side. Warnings are now properly emitted when variables or prefixes
5224         are assigned but not read.
5225
5226         * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
5227         left hand side referenced variables. Private access types do not
5228         produce the warning "variable ... is assigned but never read".
5229         Add also additional checks to left hand side referenced variables.
5230         Aliased, renamed objects and access types do not produce the warning
5231         "variable ... is assigned but never read" since other entities may read
5232         the memory location.
5233
5234 2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
5235
5236         * Makefile.in: In the powerpc/vxworks-specific section, restore
5237         EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
5238         by mistake).
5239
5240 2004-06-07  Ed Schonberg  <schonberg@gnat.com>
5241
5242         * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
5243         predefined operators.
5244         Removes spurious type errors from g-trasym-vms.adb.
5245
5246         * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
5247         distinct from the operator appearing in the source, call appropriate
5248         routine to insert conversions when needed, and complete resolution of
5249         node.
5250         (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
5251         interpretations for rewritten right operand.
5252         (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
5253         the other operand is overloaded and the context is a type conversion.
5254
5255 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5256
5257         * ada-tree.def (BLOCK_STMT): Now has two operands.
5258         (BREAK_STMT): New.
5259
5260         * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
5261
5262         * gigi.h: (gnat_poplevel): Now returns a tree.
5263
5264         * trans.c (end_block_stmt): Add arg; all callers changed.
5265         (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
5266         (start_block_stmt): Clear BLOCK_STMT_BLOCK.
5267         (add_stmt): Set TREE_TYPE.
5268         (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
5269         (gnat_expand_stmt, case BREAK_STMT): New case.
5270
5271         * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
5272
5273 2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
5274
5275         * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
5276         procedure Set_Stack_Size that is not needed.
5277
5278 2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
5279
5280         * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
5281         used for gnatpp input file and for the files upon which it depends
5282
5283 2004-06-07  Ben Brosgol  <brosgol@gnat.com>
5284
5285         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
5286
5287 2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
5288
5289         * gnatvsn.ads: Bump version numbers appropriately.
5290         Add new build type.
5291
5292 2004-06-07  Pascal Obry  <obry@gnat.com>
5293
5294         * gnat_ugn.texi: Improve comments about imported names and link names
5295         on Windows. Add a note about the requirement to use -k gnatdll's option
5296         when working with a DLL which has stripped stdcall symbols (no @nn
5297         suffix).
5298
5299 2004-05-27  Vincent Celier  <celier@gnat.com>
5300
5301         * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
5302         COMMENTS_LAYOUT=UNTOUCHED
5303
5304         * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
5305         symbols-vms-alpha.adb
5306
5307 2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
5308
5309         * sem.ads: Clarify documentation on checks suppression.
5310
5311         * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
5312
5313 2004-05-27  Ed Schonberg  <schonberg@gnat.com>
5314
5315         * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
5316         the case of multiple derivations.
5317         (Is_Object_Reference): For a selected component, verify that the prefix
5318         is itself an object and not a value.
5319
5320         * sem_ch12.adb (Same_Instantiated_Constant): New name for
5321         Same_Instantiated_Entity.
5322         (Same_Instantiated_Variable): Subsidiary to
5323         Check_Formal_Package_Instance, to recognize actuals for in-out generic
5324         formals that are obtained from a previous formal package.
5325         (Instantiate_Subprogram_Body): Emit proper error when
5326         generating code and the proper body of a stub is missing.
5327
5328         * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
5329         has a universal interpretation, do the disambiguation here.
5330
5331         * exp_ch4.adb (Expand_N_Type_Conversion,
5332         Expand_N_Unchecked_Type_Conversion): Special handling when target type
5333         is Address, to avoid typing anomalies when Address is a visible integer
5334         type.
5335
5336         * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
5337         to determine whether a subprogram should not be marked Pure, even when
5338         declared in a pure package.
5339
5340 2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
5341
5342         * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
5343
5344         * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
5345         Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
5346         Update the documentation about the Ravenscar profile, following the
5347         definition found in AI-249.
5348
5349         * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
5350         setting the Profile (Ravenscar). This must be done in addition to
5351         setting the required restrictions.
5352
5353         * rtsfind.ads: Add the set of operations defined in package
5354         Ada.Interrupts.
5355
5356         * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
5357         restriction.
5358
5359 2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
5360
5361         lang-specs.h: Always require -c or -S and always redirect to /dev/null
5362         if -gnatc or -gnats is passed.
5363
5364 2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
5365
5366         * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
5367         a significant reference. Warnings are now properly emitted when a
5368         discriminated type is not referenced.
5369
5370         * lib-xref.adb (Generate_Reference): A deferred constant completion,
5371         record representation clause or record type discriminant does not
5372         produce a reference to its corresponding entity. Warnings are now
5373         properly emitted when deferred constants and record types are not
5374         referenced.
5375
5376 2004-05-27  Geert Bosch  <bosch@gnat.com>
5377
5378         * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
5379         Fixes ACATS Annex G tests.
5380
5381 2004-05-27  Robert Dewar  <dewar@gnat.com>
5382
5383         * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
5384         handling WITH
5385
5386 2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
5387
5388         * s-interr.adb (Server_Task): Take into account case of early return
5389         from sigwait under e.g. linux.
5390
5391 2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
5392
5393         * gnat_ugn.texi: Add description for the new gnatpp options:
5394          -rnb - replace the original source without creating its backup copy
5395          -c0 - do not format comments
5396
5397 2004-05-24  Geert Bosch  <bosch@gnat.com>
5398
5399         * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
5400         with 192 bits of precision, sufficient to reduce a double-extended
5401         arguments X with a maximum relative error of T'Machine_Epsilon, for X
5402         in -2.0**32 .. 2.0**32.
5403         (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
5404         reduction by the processor, which only uses a 68-bit approximation of
5405         Pi.
5406         (Tan): Always reduce arguments and compute function either using
5407         the processor's fptan instruction, or by dividing sin and cos as needed.
5408
5409 2004-05-24  Doug Rupp  <rupp@gnat.com>
5410
5411         * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
5412         gcc error on 32/64 bit VMS.
5413
5414 2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
5415
5416         * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
5417         since this is what we get for stack overflows although not documented
5418         as such.
5419         Document the issues which may require adjustments to our signal
5420         handlers.
5421
5422 2004-05-24  Ed Schonberg  <schonberg@gnat.com>
5423
5424         * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
5425         enclosing dynamic scope if the instantiation is within a generic unit.
5426
5427 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
5428
5429         * exp_dbug.ads: Fix typo.
5430
5431         * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
5432         Rename it to its proper name: system-linux-ia64.ads
5433         (stamp-gnatlib1): Remove extra target specific run time files when
5434         setting up the rts directory.
5435
5436 2004-05-24  Javier Miranda  <miranda@gnat.com>
5437
5438         * einfo.ads, einfo.adb (Limited_Views): Removed.
5439         (Limited_View): New attribute that replaces the previous one. It is
5440         now a bona fide package with the limited-view list through the
5441         first_entity and first_private attributes.
5442
5443         * sem_ch10.adb (Install_Private_With_Clauses): Give support to
5444         limited-private-with clause.
5445         (Install_Limited_Withed_Unit): Install the private declarations of a
5446         limited-private-withed package. Update the installation of the shadow
5447         entities according to the new structure (see Build_Limited_Views)
5448         (Build_Limited_Views): Replace the previous implementation of the
5449         limited view by a package entity that references the first shadow
5450         entity plus the first shadow private entity (required for limited-
5451         private-with clause)
5452         (New_Internal_Shadow_Entity): Code cleanup.
5453         (Remove_Limited_With_Clause): Update the implementation to undo the
5454         new work carried out by Build_Limited_Views.
5455         (Build_Chain): Complete documentation.
5456         Replace Ada0Y by Ada 0Y in comments
5457         Minor reformating
5458
5459         * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
5460         types the level of accessibility depends on the enclosing type
5461         declaration.
5462
5463         * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
5464         entities. Complete documentation of previous change.
5465
5466 2004-05-24  Robert Dewar  <dewar@gnat.com>
5467
5468         * namet.adb: Minor reformatting
5469         Avoid use of name I (replace by J)
5470         Minor code restructuring
5471
5472         * sem_ch6.adb: Minor reformatting
5473
5474         * lib-writ.adb: Do not set restriction as active if this is a
5475         Restriction_Warning case.
5476
5477         * sem_prag.adb: Reset restriction warning flag if real pragma
5478         restriction encountered.
5479
5480         * s-htable.adb: Minor reformatting
5481         Change rotate count to 3 in Hash (improves hash for small strings)
5482
5483         * 5qsystem.ads: Add comments for type Address (no literals allowed).
5484
5485         * gnat_ugn.texi: Add new section of documentation "Code Generation
5486         Control", which describes the use of -m switches.
5487
5488 2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
5489
5490         trans.c (tree_transform) <N_Identifier>: Do the dereference directly
5491         through the DECL_INITIAL for renamed variables.
5492
5493 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
5494
5495         * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
5496
5497 2004-05-19  Joel Brobecker  <brobecker@gnat.com>
5498
5499         * exp_dbug.ads: Correct comments concerning handling of overloading,
5500         since we no longer use $ anymore.
5501
5502 2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
5503
5504         * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
5505         ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
5506         with illegal subunits.
5507
5508 2004-05-19  Ed Schonberg  <schonberg@gnat.com>
5509
5510         * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
5511         body with front-end inlining enabled, check whether an inline pragma
5512         appears immediately after the body and applies to it.
5513
5514         * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
5515         enabled and the pragma appears after the body of the subprogram.
5516
5517 2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5518
5519         Part of function-at-a-time conversion
5520
5521         * misc.c (adjust_decl_rtl): Deleted.
5522         (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
5523         Define.
5524
5525         * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
5526         (add_decl_stmt, add_stmt, block_has_vars): New functions.
5527         (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
5528
5529         * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
5530         when making a decl.
5531         (gnat_to_gnu_entity): Likewise.
5532         Use add_stmt to update setjmp buffer.
5533         Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
5534         flush_addressof.
5535         No longer call adjust_decl_rtl.
5536         (DECL_INIT_BY_ASSIGN_P): New macro.
5537         (DECL_STMT_VAR): Likewise.
5538
5539         * trans.c (gigi): Call start_block_stmt to make the outermost
5540         BLOCK_STMT.
5541         (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
5542         Call start_block_stmt and end_block_stmt temporarily.
5543         Use gnat_expand_stmt instead of expand_expr_stmt.
5544         (add_decl_stmt): New function.
5545         (tree_transform): Call it.
5546         (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
5547         (end_block_stmt): Set type and NULL_STMT.
5548         (gnat_expand_stmt): Make recursize call instead of calling
5549         expand_expr_stmt.
5550         (gnat_expand_stmt, case DECL_STMT): New case.
5551         (set_lineno_from_sloc): Do nothing if global.
5552         (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
5553         (start_block_stmt, add_stmt, end_block_stmt): New functions.
5554         (build_block_stmt): Call them.
5555         (gnat_to_code): Don't expand NULL_STMT.
5556         (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
5557         args.
5558         (tree_transform): Likewise.
5559         (tree_transform, case N_Null_Statement): Return NULL_STMT.
5560         (gnat_expand_stmt, case NULL_STMT): New case.
5561         (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
5562         IF_STMT_TRUE.
5563
5564         * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
5565         TREE_ADDRESSABLE.
5566
5567         * utils.c (create_var_decl): Do not call expand_decl or
5568         expand_decl_init.
5569         Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
5570         Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
5571         here.
5572         (struct e_stack): Add chain_next to GTY.
5573         (struct binding_level): Deleted.
5574         (struct ada_binding_level): New struct.
5575         (free_block_chain): New.
5576         (global_binding_level, clear_binding_level): Deleted.
5577         (global_bindings_p): Rework to see if no chain.
5578         (kept_level_p, set_block): Deleted.
5579         (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
5580         new data structure and work directly on BLOCK node.
5581         (gnat_poplevel): Similarly.
5582         (get_decls): Look at BLOCK_VARS.
5583         (insert_block): Work directly on BLOCK node.
5584         (block_has_var): New function.
5585         (pushdecl): Rework for new binding structures.
5586         (gnat_init_decl_processing): Rename and rework calls to pushlevel and
5587         poplevel.
5588         (build_subprog_body): Likewise.
5589         (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
5590
5591         * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
5592
5593         * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
5594         (DECL_STMT_VAR): Likewise.
5595
5596 2004-05-17  Robert Dewar  <dewar@gnat.com>
5597
5598         * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
5599         procedure
5600
5601         * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
5602         of restriction synonyums by using
5603         Restrict.Process_Restriction_Synonyms.
5604
5605         * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
5606
5607         * s-restri.ads (Tasking_Allowed): Correct missing comment
5608
5609         * s-rident.ads: Add entries for restriction synonyms
5610
5611         * ali.adb: Fix some problems with badly formatted ALI files that can
5612         result in infinite loops.
5613
5614         * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
5615         s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
5616         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
5617         s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
5618         s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
5619         s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
5620         s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
5621         s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
5622         s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
5623         a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
5624         exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
5625         s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
5626         s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
5627         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
5628         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
5629         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
5630         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
5631         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
5632         s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
5633         s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
5634         to Task_Id (minor cleanup).
5635
5636 2004-05-17  Vincent Celier  <celier@gnat.com>
5637
5638         * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
5639         directory separator.
5640
5641         * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
5642         project being extended, if Languages is not declared in extending
5643         project.
5644
5645 2004-05-17  Javier Miranda  <miranda@gnat.com>
5646
5647         * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
5648         limited view of a visible sibling.
5649
5650 2004-05-14  Robert Dewar  <dewar@gnat.com>
5651
5652         * gnat_ugn.texi: Minor change to -gnatS documentation
5653
5654         * sprint.adb: Remove some instances of Assert (False) and for this
5655         purpose replace them by output of a ??? string.
5656
5657         * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
5658         Assert (False).
5659
5660         * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
5661         flag processing. This was suppressing required dependencies in
5662         No_Run_Time mode and is not needed since the binder does not generate
5663         references for things in libgnat anyway.
5664
5665         * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
5666         warning.
5667
5668 2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
5669
5670         * gnat_ugn.texi: Document AIX-specific issue with initialization of
5671         resolver library.
5672
5673         * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
5674         action for the case of an actual parameter in an init proc call.
5675
5676 2004-05-14  Ed Schonberg  <schonberg@gnat.com>
5677
5678         * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
5679         subtype, check visible entities in base type.
5680
5681         * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
5682         actions if the object is a renaming.
5683
5684         * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
5685         Check_Formal_Package_Instance, to determine more precisely when the
5686         formal and the actual denote the same entity.
5687
5688 2004-05-14  Javier Miranda  <miranda@gnat.com>
5689
5690         * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
5691
5692         * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
5693         corresponding to a private_with must be removed from visibility; it
5694         will be made visible later, just before we analyze the private part of
5695         the package.
5696         (Check_Private_Child_Unit): Allow private_with clauses in public
5697         siblings.
5698         (Install_Siblings): Make visible the private entities of private-withed
5699         siblings.
5700         (Install_Withed_Unit): Do not install the private withed unit if we
5701         are compiling a package declaration and the Private_With_OK flag was
5702         not set by the caller. These declarations will be installed later,
5703         just before we analyze the private part of the package.
5704
5705         * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
5706         during the evaluation of the expression that initializes the object,
5707         decorate it with the expected type to avoid cascade errors.
5708         Code cleanup.
5709
5710         * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
5711         subprogram we have to install the private_with clauses after its
5712         specification has been analyzed (as documented in AI-262.TXT).
5713
5714         * sem_ch8.adb (Has_Private_With): New function. Determines if the
5715         current compilation unit has a private with on a given entity.
5716         (Find_Direct_Name): Detect the Beaujolais problem described in
5717         AI-262.TXT
5718
5719         * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
5720         provides the functionality of the function Is_Ancestor that was
5721         previously available in sem_ch10. It has been renamed to avoid
5722         overloading.
5723
5724         * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
5725
5726 2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5727
5728         * utils.c (build_vms_descriptor): Use SImode pointers.
5729
5730 2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
5731
5732         * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
5733
5734 2004-05-14  GNAT Script  <nobody@gnat.com>
5735
5736         * Make-lang.in: Makefile automatically updated
5737
5738 2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
5739
5740         Renaming of target specific files for clarity
5741
5742         * Makefile.in: Rename GNAT target specific files.
5743
5744         * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
5745         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
5746         3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
5747         3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
5748         3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
5749         3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
5750         42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
5751         4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
5752         4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
5753         4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
5754         4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
5755         4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
5756         51osinte.adb, 51osinte.ads, 51system.ads,
5757         52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
5758         55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
5759         56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
5760         56tpopsp.adb, 57system.ads, 58system.ads,
5761         5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
5762         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
5763         5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
5764         5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
5765         5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
5766         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
5767         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
5768         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
5769         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
5770         5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
5771         5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
5772         5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
5773         5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
5774         5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
5775         5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
5776         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
5777         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
5778         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
5779         5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
5780         5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
5781         5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
5782         5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
5783         5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
5784         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
5785         5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
5786         5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
5787         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
5788         5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
5789         5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
5790         5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
5791         5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
5792         5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
5793         5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
5794         5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
5795         5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
5796         5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
5797         7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
5798         7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
5799         7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
5800         7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
5801
5802         * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
5803         a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
5804         a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
5805         a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
5806         a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
5807         a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
5808         a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
5809         a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
5810         a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
5811         a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
5812         g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
5813         g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
5814         g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
5815         g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
5816         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
5817         g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
5818         g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
5819         g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
5820         interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
5821         mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
5822         mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
5823         mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
5824         s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
5825         s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
5826         s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
5827         s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
5828         s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
5829         s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
5830         s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
5831         s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
5832         s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
5833         s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
5834         s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
5835         s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
5836         s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
5837         s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
5838         s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
5839         s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
5840         s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
5841         s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
5842         s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
5843         s-osinte-vms.ads, s-osinte-vxworks.adb,
5844         s-osinte-vxworks.ads, s-osprim-mingw.adb,
5845         s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
5846         s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
5847         s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
5848         s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
5849         s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
5850         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
5851         s-stchop-vxworks.adb, s-taprop-dummy.adb,
5852         s-taprop-hpux-dce.adb, s-taprop-irix.adb,
5853         s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
5854         s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
5855         s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
5856         s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
5857         s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
5858         s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
5859         s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
5860         s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
5861         s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
5862         s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
5863         s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
5864         s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
5865         s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
5866         s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
5867         s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
5868         s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
5869         s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
5870         symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
5871         system-hpux.ads, system-interix.ads, system-irix-n32.ads,
5872         system-irix-o32.ads, system-linux-x86_64.ads,
5873         system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
5874         system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
5875         system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
5876         system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
5877         system-vxworks-alpha.ads, system-vxworks-m68k.ads,
5878         system-vxworks-mips.ads, system-vxworks-ppc.ads,
5879         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
5880         above.
5881
5882 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
5883
5884         * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
5885
5886 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
5887
5888         Merge from tree-ssa-20020619-branch.
5889
5890         * config-lang.in (boot_language, build_by_default): Set
5891         to no.
5892         * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
5893         (max_size): Add static chain op for call_expr.
5894
5895 2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
5896
5897         PR target/15331
5898         * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
5899
5900 2004-05-11  Roger Sayle  <roger@eyesopen.com>
5901
5902         * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
5903         COND_EXPR.
5904
5905 2004-05-10  Doug Rupp  <rupp@gnat.com>
5906
5907         * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
5908         system.aux_dec.
5909
5910         * s-auxdec.ads: Add Short_Address subtype (moved here from System).
5911
5912         * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
5913
5914         * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
5915         Fixes undefined symbols in IA64 gnatlib.
5916
5917         * 5vinmaop.adb: Reference s-auxdec for Short_Address.
5918
5919         * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
5920         Short_Address). This will be moved to system.auxdec.
5921
5922 2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
5923
5924         * sem_util.adb: Replace test for presence of a node that is always
5925         present with a call to Discard_Node.
5926
5927         * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
5928         Analyze on the library unit node after generation of distribution stub
5929         constructs.  The call was a no-op because Unit_Node has already been
5930         Analyzed, and the tree fragments for the distribution stubs are
5931         analyzed as they are inserted in Exp_Dist.
5932         Update comment regarding to distribution stubs to reflect that we
5933         do not generate stub in separate files anymore.
5934
5935         * einfo.ads: Clarify the fact that a tagged private type has the
5936         E_Record_Type_With_Private Ekind.
5937
5938         * erroutc.adb: Minor reformatting
5939
5940         * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
5941         values if line length is increased using -gnatyM (noticed during code
5942         reading).
5943
5944         * eval_fat.adb: Minor reformatting
5945         Put spaces around exponentiation operator
5946
5947 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
5948
5949         PR ada/15005
5950         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
5951         has been rewritten as an explicit dereference, retrieve type of
5952         original node to check for possibly unconstrained record type.
5953
5954 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
5955
5956         * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
5957         overriding, use the operation of the parent unconditionally.
5958
5959         * sem_ch4.adb (Remove_Address_Interpretations): Remove address
5960         operation when either operand is a literal, to avoid further
5961         ambiguities.
5962
5963         * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
5964         overridden by a previous explicit declaration, mark the previous entity
5965         as overriding.
5966
5967         * sem_disp.adb (Check_Dispatching_Operation): New predicate
5968         Is_Visibly_Controlled, to determine whether a declaration of a
5969         primitive control operation for a derived type overrides an inherited
5970         one. Add warning if the explicit declaration does not override.
5971
5972 2004-05-10  Vincent Celier  <celier@gnat.com>
5973
5974         * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
5975         some cases when the sources are no longer present.
5976
5977         * make.adb (Collect_Arguments): Fail if an external source, not part
5978         of any project need to be compiled, when switch -x has not been
5979         specified.
5980
5981         * makeusg.adb: Document new switch -x
5982
5983         * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
5984         defaulted to False.
5985
5986         * switch-m.adb (Scan_Make_Switches): New switch -x
5987
5988         * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
5989         gnatmake switch -x.
5990
5991         * gnat_ugn.texi: Document new gnatmake switch -x
5992
5993 2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
5994
5995         * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
5996
5997         * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
5998         (process_attributes): Likewise.
5999
6000 2004-05-10  Joel Brobecker  <brobecker@gnat.com>
6001
6002         * s-inmaop.ads: Fix spelling mistake in one of the comments.
6003
6004 2004-05-10  Robert Dewar  <dewar@gnat.com>
6005
6006         * gnat_ugn.texi: Document that for config pragma files, the maximum
6007         line length is always 32767.
6008
6009         * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
6010         literals is now allowed.
6011
6012         * gnat-style.texi: Remove statement about splitting long lines before
6013         an operator rather than after, since we do not follow this rule at all.
6014         Clarify rule (really lack of rule) for spaces around exponentiation
6015
6016         * sem_elim.adb: Allow concatenation of string literals as well as a
6017         single string literal for pragma arguments.
6018
6019         * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
6020
6021         * a-textio.adb (Terminate_Line): Do not add line feed if nothing
6022         written for append case.
6023
6024         * frontend.adb: Changes to avoid checking max line length in config
6025         pragma files.
6026
6027         * g-os_lib.ads: Minor reformatting
6028
6029         * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
6030         wrong in any case. Instead use standard value. Noticed during code
6031         reading.
6032
6033         * opt.ads (Max_Line_Length): New field, used to implement removal of
6034         limitation on length of lines when scanning config pragma files.
6035
6036         * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
6037         makeutl.ads, makeutl.adb: Minor reformatting
6038
6039         * scn.adb: Do not check line length while scanning config pragma files
6040         Do not check line length while scanning out license information
6041
6042         * scng.adb: Changes to avoid line length checks while parsing config
6043         pragma files.
6044
6045 2004-05-10  GNAT Script  <nobody@gnat.com>
6046
6047         * Make-lang.in: Makefile automatically updated
6048
6049 2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
6050
6051         * osint.adb (Find_Program_Name): Fix handling of VMS version
6052         number.
6053
6054 2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
6055
6056         * g-os_lib.ads (Invalid_Time): New constant
6057
6058         * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
6059         return OS_Time instead of time_t to match what is imported by Ada.
6060         Now return -1 if the file doesn't exist, instead of a random value
6061
6062 2004-05-05  Robert Dewar  <dewar@gnat.com>
6063
6064         * usage.adb: Add line for -gnatR?s switch
6065
6066         * sem_ch13.adb, exp_ch2.adb: Minor reformatting
6067
6068         * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
6069         and for Match (Data_First, Data_last)
6070
6071         * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
6072         written when we are dealing with multi-unit files.
6073
6074 2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
6075
6076         * Makefile.in: Remove unused targets and variables.
6077
6078 2004-05-05  Vincent Celier  <celier@gnat.com>
6079
6080         * switch-m.adb: New gnatmake switch -eI
6081
6082         * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
6083         of new gnatmake switch -eInnn.
6084
6085         * makegpr.adb: Take into account new parameters Index and Src_Index in
6086         Prj.Util.
6087
6088         * clean.adb: Implement support for multi-unit sources, including new
6089         switch -i.
6090
6091         * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
6092         Src_Index.
6093
6094         * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
6095         (Extract_From_Q): New out parameter Index
6096         (Mark, Is_Marked): Subprograms moved to Makeutl
6097         (Switches_Of): New parameter Source_Index
6098         (Add_Switch): New parameter Index
6099         (Check): New parameter Source_Index
6100         (Collect_Arguments): New parameter Source_Index
6101         (Collect_Arguments_And_Compile): New parameter Source_Index
6102         (Compile): New parameter Source_Index
6103         Put subprograms in alphabetical order
6104         Add support for multi-source sources, including in project files.
6105
6106         * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
6107         (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
6108         Make.
6109
6110         * makeusg.adb: New gnatmake switch -eInnn
6111
6112         * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
6113         Prj.Util.Value_Of.
6114
6115         * opt.ads (Main_Index): New variable, defaulted to 0.
6116
6117         * osint.ads, osinte.adb (Add_File): New parameter Index
6118         (Current_Source_Index): New function
6119
6120         * prj.adb: Take into account new components Index and Src_Index
6121
6122         * prj.ads (String_Element): New component Index
6123         (Variable_Value): New component Index
6124         (Array_Element): New component Src_Index
6125
6126         * prj-attr.adb: Indicate that optional index may be specified for
6127         attributes Main, Executable, Spec, Body and some of Switches.
6128
6129         * prj-attr.ads (Attribute_Kind): New values for optional indexes
6130         (Attribute_Record): New component Optional_Index
6131
6132         * prj-com.ads (File_Name_Data): New component Index
6133
6134         * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
6135
6136         * prj-env.adb (Put): Output optional index
6137
6138         * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
6139         attributes Spec and Body.
6140
6141         * prj-nmsc.adb: Process optional indexes
6142
6143         * prj-pp.adb: Ouput "at" for optional indexes
6144
6145         * prj-proc.adb: Take into account optional indexes
6146
6147         * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
6148         Optional_Index. For string literal,
6149         process optional index when Optional_Index is True.
6150         (Parse_Expresion): New Boolean parameter Optional_Index
6151
6152         * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
6153         (Set_Source_Index_Of): New procedure
6154
6155         * prj-util.adb (Executable_Of, Value_Of): Take into account optional
6156         index.
6157
6158         * prj-util.ads (Executable_Of): New parameter Index
6159         (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
6160         New parameter Src_Index, defaulted to 0.
6161
6162 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
6163
6164         PR ada/15257
6165         * sem_ch3.adb (Access_Definition): If this is an access parameter
6166         whose designated type is imported through a limited_with clause, do
6167         not add the enclosing subprogram to the list of private dependents of
6168         the type.
6169
6170 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
6171
6172         PR ada/15258
6173         * sem_ch6.adb (Base_Types_Match): True if one type is imported through
6174         a limited_with clause, and the other is its non-limited view.
6175
6176 2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
6177
6178         * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
6179
6180         * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
6181         exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
6182         Stand.Boolean_Literals to produce references to entities
6183         Standard_False and Standard_True from compile-time computed boolean
6184         values.
6185
6186         * stand.ads (Boolean_Literals): New variable, provides the entity
6187         values for False and True, for use by the expander.
6188
6189 2004-05-05  Doug Rupp  <rupp@gnat.com>
6190
6191         * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
6192         5vinmaop.adb: Unchecked convert Short_Address vice Address
6193
6194         * adaint.c, raise.c: Caste CRTL function return value
6195         to avoid gcc error on 32/64 bit IVMS.
6196
6197         * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
6198         target = IA64/VMS.
6199
6200         * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
6201
6202         * 5qsystem.ads (Address): Declare as Long_Integer
6203         (Short_Address): Declare as 32 bit subtype of Address
6204         Declare  abstract address operations to avoid gratuitous ambiguities.
6205
6206 2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
6207
6208         * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
6209         instead of the old Boolean_Entry_Barriers.
6210         Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
6211
6212 2004-05-05  GNAT Script  <nobody@gnat.com>
6213
6214         * Make-lang.in: Makefile automatically updated
6215
6216 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
6217
6218         * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
6219
6220 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
6221
6222         PR ada/15152
6223
6224         * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
6225         alone. Replacing object references by literals is inappropriate in a
6226         so low level context.
6227
6228 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
6229
6230         * a-exexpr.adb: Add comments
6231
6232 2004-05-03  Joel Brobecker  <brobecker@gnat.com>
6233
6234         * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
6235         declare the Ancestor_Tags array in Type_Specific_Data with a small size
6236         without risking a bounds check error when accessing one of its
6237         components.
6238         (Type_Specific_Data): Define Ancestor_Tags as a small array.
6239         This prevents us from hitting a limitation during the debug info
6240         generation when using stabs.
6241
6242         * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
6243         small array.
6244         This prevents us from hitting a limitation during the debug info
6245         generation when using stabs.
6246
6247 2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
6248
6249         lang-specs.h: Remove -gnatz* from specs.
6250
6251 2004-05-03  Vincent Celier  <celier@gnat.com>
6252
6253         * gprmake.adb, makegpr.ads, makegpr.adb: New files.
6254
6255         * Make-lang.in, Makefile.in: Add gprmake
6256
6257 2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
6258
6259         * sem_aggr.adb: Fix typo in comment.
6260
6261 2004-05-03  Robert Dewar  <dewar@gnat.com>
6262
6263         * make.adb: Minor reformatting
6264
6265         * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
6266
6267         * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
6268         so that it works when address is not a private type.
6269
6270         * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
6271         properly with rewritten unchecked conversions. This prevents
6272         order-of-elaboration issues that can otherwise arise.
6273         (Minimum_Size): Don't check size of access types under VMS
6274
6275         * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
6276         interpretations of integer literals as type System.Address.
6277
6278         * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
6279         (Is_Descendent_Of): New function
6280
6281 2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
6282
6283         * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
6284         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
6285         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
6286
6287         * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
6288         of the old Max_Entry_Queue_Depth.
6289
6290         * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
6291         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
6292         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
6293
6294         * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
6295         New entry for proper handling of Max_Entry_Queue_Depth.
6296         New entry for proper handling of No_Dynamic_Interrupts.
6297
6298         * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
6299         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
6300         Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
6301         the GNAT specific restriction Max_Entry_Queue_Depth.
6302         Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
6303         the GNAT specific restriction No_Dynamic_Interrupts.
6304
6305         * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
6306         instead of the old Boolean_Entry_Barriers.
6307         Use the new restriction No_Dynamic_Attachment instead of the old
6308         No_Dynamic_Interrupts.
6309
6310         * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
6311         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
6312
6313         * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
6314         of the old Max_Entry_Queue_Depth.
6315
6316 2004-05-03  GNAT Script  <nobody@gnat.com>
6317
6318         * Make-lang.in: Makefile automatically updated
6319
6320 2004-04-29  Ed Schonberg  <schonberg@gnat.com>
6321
6322         * checks.adb (Enable_Range_Check): If the prefix of an index component
6323         is an access to an unconstrained array, perform check unconditionally.
6324
6325 2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6326
6327         * decl.c (gnat_to_gnu_field): Also call make_packable_type if
6328         Component_Clause.
6329
6330 2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
6331
6332         * init.c (__gnat_install_handler, __gnat_error_handler): Remove
6333         alternate stack setting. There was no support for the tasking cases
6334         and the changes eventually caused a number of side-effect failures in
6335         the non-tasking case too.
6336
6337 2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
6338
6339         lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
6340         -gnats is passed.
6341
6342 2004-04-29  Vincent Celier  <celier@gnat.com>
6343
6344         * make.adb (Gnatmake): Increase max size of argument array for
6345         gnatbind for the potential addition of -F.
6346         If there are Stand-Alone Library projects, invoke gnatbind with -F to
6347         be sure that elaboration flags will be checked.
6348
6349         * switch-c.adb: Correct call to Scan_Pos for -gnateI
6350
6351 2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
6352
6353         * sem_warn.adb (Check_References): Move '<access-variable> may be
6354         null' warning out of under Warn_On_No_Value_Assigned.
6355
6356 2004-04-29  Ed Falis  <falis@gnat.com>
6357
6358         * gnat_ugn.texi: Fixed texi error
6359
6360 2004-04-29  Robert Dewar  <dewar@gnat.com>
6361
6362         * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
6363         abstract operations if they come from predefined files.
6364
6365         * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
6366         Dynamic, not RM).
6367
6368         * s-addope.adb: Correct obvious error in mod function
6369
6370 2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
6371
6372         * Makefile.in: Add target pairs for powerpc darwin*
6373         tasking support.
6374
6375         * a-intnam-darwin.ads, s-osinte-darwin.adb,
6376         s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
6377
6378 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
6379
6380         * Makefile.in: Add target macro definitions for s390*-linux*.
6381         * system-linux-s390.ads: New file.
6382         * system-linux-s390x.ads: New file.
6383
6384 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
6385
6386         * gnat_ugn.texi: Correct argument to @setfilename.
6387
6388 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
6389
6390         * a-exexpr.adb (Unwind_Word): New data type.
6391         (Unwind_Exception): Use it as type of Private1 and Private2.
6392
6393         * raise.c (db_action_for): Fix debug printf.
6394
6395 2004-04-27  Ed Schonberg  <schonberg@gnat.com>
6396
6397         * a-wtmoio.ads: Formal type must be a modular type, not a signed
6398         integer type.
6399
6400 2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6401
6402         * decl.c (gnat_to_gnu_entity, case object): Call
6403         __builtin_update_setjmp_buf.
6404
6405         * gigi.h (update_setjmp_buf): Deleted.
6406         (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
6407
6408         * misc.c: (update_setjmp_buf): Deleted.
6409
6410         * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
6411         around block of RTL.
6412
6413         * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
6414
6415 2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
6416
6417         * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
6418         subprogram for which no pragma All_Calls_Remote applies, store the
6419         address of the real subprogram in the underlying record type, so local
6420         dereferences do not go through the PCS.
6421
6422 2004-04-26  Robert Dewar  <dewar@gnat.com>
6423
6424         * i-c.ads: Add some type qualifications to avoid ambiguities when
6425         compiling with s-auxdec.ads and a non-private address type.
6426
6427 2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
6428
6429         * Makefile.rtl: Fix error in previous check-in:
6430         Add s-addope.o to non tasking object list (rather than tasking object
6431         list).
6432
6433 2004-04-26  Javier Miranda  <miranda@gnat.com>
6434
6435         * sem_aggr.adb: Fix typo in comments
6436         (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
6437         Required to check the null-exclusion attribute.
6438
6439         * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
6440         case of anonymous access types in record and array components. For a
6441         component definition the level is the same of the enclosing composite
6442         type.
6443
6444         * sem_ch3.adb (Analyze_Component_Declaration): In case of components
6445         that are anonymous access types the level of accessibility depends on
6446         the enclosing type declaration. In order to have this information, set
6447         the scope of the anonymous access type to the enclosing record type
6448         declaration.
6449         (Array_Type_Declaration): In case of components that are anonymous
6450         access types the level of accessibility depends on the enclosing type
6451         declaration. In order to have this information, set the scope of the
6452         anonymous access type to the enclosing array type declaration.
6453
6454         * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
6455         access type.
6456
6457         * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
6458         renaming of anonymous access-to-constant types allowed if and only if
6459         the renamed object is access-to-constant.
6460
6461         * sem_util.adb (Type_Access_Level): In case of anonymous access types
6462         that are component_definition or discriminants of a nonlimited type,
6463         the level is the same as that of the enclosing component type.
6464
6465 2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
6466
6467         * sem_elim.adb: Some minor code reorganization from code reading. Fix
6468         misprint in the function name (File_Name_Match).
6469
6470 2004-04-23  Laurent GUERBY <laurent@guerby.net>
6471
6472         * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
6473         install.
6474
6475 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6476
6477         * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
6478
6479 2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
6480
6481         * adaint.c (__gnat_try_lock): No longer requires that the parent
6482         directory be writable, the directory itself is enough.
6483         (gnat_is_absolute_path): Change profile, so that the call from
6484         GNAT.OS_Lib can be made more efficient.
6485
6486         * adaint.h (gnat_is_absolute_path): Change profile, so that the call
6487         from GNAT.OS_Lib can be made more efficient.
6488
6489         * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
6490         one copy of the file name. Found by code reading.
6491
6492 2004-04-23  Vincent Celier  <celier@gnat.com>
6493
6494         * gnat_ugn.texi: Add documentation for gnatmake switch -eL
6495         Correct documentation on gnatmake switches transmitted to the compiler
6496
6497         * ali.ads: Minor comment fix
6498
6499 2004-04-23  Javier Miranda  <miranda@gnat.com>
6500
6501         * sem_ch6.adb: (Confirming Types): Code cleanup
6502
6503         * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
6504         subprogram types: E_Anonymous_Access_Subprogram_Type and
6505         E_Anonymous_Access_Protected_Subprogram_Type.
6506
6507 2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
6508
6509         * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
6510         whether a pragma All_Calls_Remote applies to the subprogram on which
6511         'Access is taken.
6512         No functional change is introduced by this revision; the new parameter
6513         will be used to allow calls to local RCI subprograms to be optimized
6514         to not use the PCS in the case where no pragma All_Calls_Remote applies,
6515         as is already done in the PolyORB implementation of the DSA.
6516
6517         * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
6518         whether a pragma All_Calls_Remote applies to the subprogram on which
6519         'Access is taken.
6520         No functional change is introduced by this revision; the new parameter
6521         will be used to allow calls to local RCI subprograms to be optimized
6522         to not use the PCS in the case where no pragma All_Calls_Remote applies,
6523         as is already done in the PolyORB implementation of the DSA.
6524
6525 2004-04-23  Robert Dewar  <dewar@gnat.com>
6526
6527         * Makefile.rtl: Add entry for s-addope.o in run time library list
6528         * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
6529         * s-addope.ads, s-addope.adb: New files.
6530
6531         * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
6532         s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
6533         s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
6534         System.Address to be non-private and signed.
6535
6536         * sem_elim.adb: Minor reformatting (fairly extensive)
6537         Some minor code reorganization from code reading
6538         Add a couple of ??? comments
6539
6540 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6541
6542         * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
6543         (tree_transform, case N_If_Statement): Remove non-determinism.
6544
6545         * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
6546
6547 2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
6548
6549         * gnat_rm.texi: Small fixes in the changes made in the 'pragma
6550         Eliminate' section.
6551
6552         * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
6553         no longer used as a parameter name for Eliminate pragma).
6554
6555 2004-04-22  Laurent GUERBY <laurent@guerby.net>
6556
6557         PR optimization/14984
6558         PR optimization/14985
6559         * trans.c (gigi): Fix non determinism leading to bootstrap
6560         comparison failures.
6561
6562 2004-04-21  Pascal Obry  <obry@gnat.com>
6563
6564         * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
6565         passed to spawnvp() to properly handle program pathname with spaces on
6566         Win32.
6567
6568 2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
6569
6570         * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
6571         (Allocate, Deallocate, Free_Physically): Make sure the tasks are
6572         unlocked in case of exceptions.
6573
6574 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
6575
6576         * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
6577         This function does not exist anymore.
6578
6579 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
6580
6581         * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
6582
6583         * link.c: Move variables to the __gnat name space.
6584
6585         * Makefile.in: list link.o explicitly when needed.
6586
6587         * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
6588
6589 2004-04-21  Javier Miranda  <miranda@gnat.com>
6590
6591         * einfo.adb (Original_Access_Type): New subprogram
6592         (Set_Original_Access_Type): New subprogram
6593         (Write_Field21_Name): Write the name of the new field
6594
6595         * einfo.ads (Original_Access_Type): New field present in access to
6596         subprogram types.
6597         Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
6598         E_Anonymous_Access_Protected_Subprogram_Type.
6599
6600         * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
6601         subprogram types.
6602
6603         * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
6604         to anonymous access to subprogram types.
6605
6606         * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
6607         to subprogram types.
6608
6609         * sem_ch3.adb (Access_Definition): Complete decoration of entities
6610         corresponding to anonymous access to subprogram types.
6611         (Analyze_Component_Declaration): Add new actual to the call to
6612         subprogram replace_anonymous_access_to_protected_subprogram.
6613         (Array_Type_Declaration): Add new actual to the call to subprogram
6614         replace_anonymous_access_to_protected_subprogram.
6615         (Process_Discriminants): Add new actual to the call to subprogram
6616         replace_anonymous_access_to_protected_subprogram.
6617         (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
6618
6619         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
6620         formal.
6621
6622         * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
6623         access to subprogram types.
6624
6625         * sem_util.adb (Has_Declarations): Addition of package_specification
6626         nodes.
6627
6628 2004-04-21  Ed Schonberg  <schonberg@gnat.com>
6629
6630         * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
6631         inlined flags to renamed entity only if in current unit.
6632
6633 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
6634
6635         * s-parint.ads: Add DSA implementation marker.
6636
6637         * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
6638         value of System.Partition_Interface.DSA_Implementation to determine
6639         what version of the distributed systems annex is available (no
6640         implementation, GLADE, or PolyORB).
6641
6642 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
6643
6644         * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
6645
6646 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6647
6648         * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
6649         with new type if alias sets differ.
6650         Fixes ACATS c41103b.
6651
6652 2004-04-21  Vincent Celier  <celier@gnat.com>
6653
6654         * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
6655         Add array Lang_Args for the language specific compiling argument
6656         switches.
6657
6658         * gnat_ugn.texi: Explain in more details when a library is rebuilt.
6659
6660 2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
6661
6662         * gnat_rm.texi: Update the descripton of the Eliminate pragma
6663         according to the recent changes in the format of the parameters of the
6664         pragma (replacing Homonym_Number with Source_Location).
6665
6666 2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
6667
6668         * 5isystem.ads: Removed, unused.
6669
6670         * gnat_rm.texi: Redo 1.13 change.
6671
6672 2004-04-19  Robert Dewar  <dewar@gnat.com>
6673
6674         * s-stoele.ads: Clean up definition of Storage_Offset (the new
6675         definition is cleaner, avoids the kludge of explicit Standard operator
6676         references, and also is consistent with a visible System.Address with
6677         no visible operations.
6678
6679         * s-geveop.adb: Add declarations to avoid assumption of visible
6680         operations on type System.Address (since these might not be available
6681         if Address is a non-private type for which the operations
6682         are made abstract).
6683
6684         * sem_eval.adb: Minor reformatting
6685
6686         * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
6687         s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
6688         reformatting (new function spec format).
6689
6690         * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
6691         s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
6692         s-caun64.adb: Add declarations to avoid assumption of visible
6693         operations on type System.Address (since these might not be available
6694         if Address is a non-private type for which the operations are made
6695         abstract).
6696
6697         * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
6698
6699         * exp_intr.adb: Minor comment update
6700
6701         * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
6702
6703         * 5omastop.adb: Add declarations to avoid assumption of visible
6704         operations on type System.Address (since these might not be available
6705         if Address is a non-private type for which the operations
6706         are made abstract).
6707
6708 2004-04-19  Vincent Celier  <celier@gnat.com>
6709
6710         * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
6711
6712         * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
6713         defaulted to Ada.
6714
6715         * prj-proc.adb (Process): New Boolean parameter Process_Languages,
6716         defaulted to Ada.
6717         Call Check with Process_Languages.
6718         (Check): New Boolean parameter Process_Languages. Call Recursive_Check
6719         with Process_Languages.
6720         (Recursive_Check): New Boolean parameter Process_Languages. Call
6721         Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
6722         Process_Languages.
6723
6724         * prj-proc.ads (Process): New Boolean parameter Process_Languages,
6725
6726         * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
6727         parameter Ada_Main, defaulted to True.
6728         Check for Ada specific characteristics only when Ada_Main is True.
6729
6730         * opt.ads: (Follow_Links): New Boolean flag for gnatmake
6731
6732         * prj.adb: (Project_Empty): Add new Project_Data components.
6733
6734         * prj.ads: New types and tables for non Ada languages.
6735         (Project_Data): New components Languages, Impl_Suffixes,
6736         First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
6737         Include_Path, Include_Data_Set.
6738
6739         * prj-env.ads, prj-env.adb: Minor reformatting
6740
6741         * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
6742         Put subprograms in alphabetical order
6743
6744         * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
6745         defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
6746         Opt.Follow_Links.
6747
6748         * mlib-prj.adb: Back out modification in last version, as they are
6749         incorrect.
6750         (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
6751
6752         * make.adb: (Mains): Moved to package Makeutl
6753         (Linker_Opts): Moved to package Makeutl
6754         (Is_External_Assignment): Moved to package Makeutl
6755         (Test_If_Relative_Path): Moved to package Makeutl
6756         (Gnatmake): Move sorting of linker options to function
6757         Makeutl.Linker_Options_Switches.
6758
6759         * makeutl.ads, makeutl.adb: New files.
6760
6761         * Makefile.in: Add makeutl.o to the object files for gnatmake
6762
6763         * makeusg.adb: Add line for new switch -eL.
6764
6765         * gnatls.adb (Image): New function.
6766         (Output_Unit): If in verbose mode, output the list of restrictions
6767         specified by pragmas Restrictions.
6768
6769         * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
6770         Text_IO.
6771
6772         * a-calend.adb (Split): Shift the date by multiple of 56 years, if
6773         needed, to put it in the range 1970 (included) - 2026 (excluded).
6774         (Time_Of): Do not shift Unix_Min_Year (1970).
6775         Shift the date by multiple of 56 years, if needed, to put it in the
6776         range 1970 (included) - 2026 (excluded).
6777
6778         * adaint.h, adaint.c (__gnat_set_executable): New function.
6779
6780 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6781
6782         * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
6783         and pop GC context.
6784         (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
6785         (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
6786         (tree_transform, case N_Procedure_Call_Statement): Build a tree.
6787         (tree_transform, case N_Code_Statement): Likewise.
6788         (gnat_expand_stmt, case LABEL_STMT): Don't look at
6789         LABEL_STMT_FIRST_IN_EH.
6790         (gnat_expand_stmt, case ASM_STMT): New case.
6791
6792         * utils2.c (build_unary_op): Properly set TREE_READONLY of
6793         UNCONSTRAINED_ARRAY_REF.
6794
6795         * utils.c (poplevel): Temporarily push/pop GC context around inline
6796         function expansion.
6797
6798         * decl.c (maybe_variable): Properly set TREE_READONLY of
6799         UNCONSTRAINED_ARRAY_REF.
6800         (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
6801
6802         * ada-tree.def: (ASM_STMT): New.
6803
6804         * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
6805         (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
6806         ASM_STMT_INPUT): New.
6807         (ASM_STMT_CLOBBER): Likewise.
6808
6809 2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
6810
6811         * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
6812         general rcheck mechanism to raise Program_Error for E.4(18), instead
6813         of a custom raiser in System.Partition_Interface.
6814         Part of general cleanup work before PolyORB integration.
6815
6816         * snames.ads, snames.adb: Add new runtime library entities and names
6817         for PolyORB DSA.
6818
6819         * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
6820         exp_dist.
6821         (Build_Subprogram_Id): New subprogram provided by exp_dist
6822         Code reorganisation in preparation for PolyORB integration.
6823
6824         * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
6825         exp_dist.
6826         (Build_Subprogram_Id): New subprogram provided by exp_dist
6827
6828         * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
6829         actual parameter types for call to dereference of an
6830         access-to-subprogram type.
6831
6832         * rtsfind.ads: Add new runtime library entities and names for PolyORB
6833         DSA.
6834
6835         * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
6836         instead, which has the same behaviour here since we never pass it a
6837         NULL pointer.
6838
6839         * link.c (run_path_option, Solaris case): Use -Wl, as for other
6840         platforms.
6841
6842         * Makefile.in: adjust object file lists for gnatlink and gnatmake
6843         to account for new dependency upon Interfaces.C.Strings + link.o
6844         For x86 FreeBSD, use 86numaux.
6845
6846         * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
6847         from Mlib.Tgt to Mlib.
6848
6849         * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
6850         target-independent.
6851
6852         * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
6853         target-specific versions of this subprogram, now implemented as a
6854         target-independent function in Mlib.
6855
6856         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
6857         5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
6858         (Linker_Library_Path_Option): Remove target-specific versions of this
6859         subprogram, now implemented as a target-independent function in Mlib.
6860
6861         * atree.adb: (Allocate_Initialize_Node): New subprogram.
6862         Factors out node table slots allocation.
6863         (Fix_Parents): New subprogram.
6864         Encapsulate the pattern of fixing up parent pointers for syntactic
6865         children of a rewritten node.
6866         (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
6867         (Rewrite): Use New_Copy when creating saved copy of original node.
6868         (Replace): Use Copy_Node to copy nodes.
6869
6870 2004-04-19  Javier Miranda  <miranda@gnat.com>
6871
6872         * sprint.adb (Sprint_Node_Actual): Give support to the new
6873         Access_To_Subprogram node available in Access_Definition nodes. In
6874         addition, give support to the AI-231 node fields: null-exclusion,
6875         all-present, constant-present.
6876
6877         * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
6878
6879         * sinfo.ads, sinfo.adb:
6880         New field Access_To_Subprogram_Definition in Access_Definition nodes
6881
6882         * sem_ch6.adb (Process_Formals): Move here the code that creates and
6883         decorates internal subtype declaration corresponding to the
6884         null-excluding formal. This code was previously in Set_Actual_Subtypes.
6885         In addition, carry out some code cleanup on this code. In case of
6886         access to protected subprogram call
6887         Replace_Anonymous_Access_To_Protected_Subprogram.
6888         (Set_Actual_Subtypes): Code cleanup.
6889
6890         * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
6891         Find_Type in case of anonymous access renamings. Add warning in case of
6892         null-excluding attribute used in anonymous access renaming.
6893
6894         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
6895         subprogram
6896
6897         * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
6898         subprogram.
6899         (Access_Definition): In case of anonymous access to subprograms call
6900         the corresponding semantic routine to decorate the node.
6901         (Access_Subprogram_Declaration): Addition of some comments indicating
6902         some code that probably should be added here. Detected by comparison
6903         with the access_definition subprogram.
6904         (Analyze_Component_Declaration): In case of access to protected
6905         subprogram call Replace_Anonymous_Access_To_Protected.
6906         (Array_Type_Declaration): In case of access to protected subprogram call
6907         Replace_Anonymous_Access_To_Protected_Subprogram.
6908         (Process_Discriminants): In case of access to protected subprogram call
6909         Replace_Anonymous_Access_To_Protected_Subprogram.
6910
6911         * par.adb (P_Access_Definition): New formal that indicates if the
6912         null-exclusion part was present.
6913         (P_Access_Type_Definition): New formal that indicates if the caller has
6914         already parsed the null-excluding part.
6915
6916         * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
6917         (P_Identifier_Declarations): Code cleanup and give support to renamings
6918         of anonymous access to subprogram types.
6919         (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
6920         (P_Array_Type_Definition): Give support to AI-254.
6921         (P_Component_Items): Give support to AI-254.
6922         (P_Access_Definition): New formal that indicates if the header was
6923         already parsed by the caller.
6924         (P_Access_Type_Definition): New formal that indicates if the caller has
6925         already parsed the null-excluding part.
6926
6927         * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
6928         call to P_Access_Definition.
6929
6930 2004-04-19  Geert Bosch  <bosch@gnat.com>
6931
6932         * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
6933         the delicate semantics of floating-point to integer conversion.
6934         (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
6935
6936         * eval_fat.adb (Machine_Mantissa): Moved to spec.
6937         (Machine_Radix): New function.
6938
6939         * eval_fat.ads (Machine_Mantissa): Moved from body for use in
6940         conversion checks.
6941         (Machine_Radix): New function also for use in conversion checks.
6942
6943 2004-04-19  Ed Schonberg  <schonberg@gnat.com>
6944
6945         * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
6946
6947         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
6948         to decorate the access-to-protected subprogram and the equivalent type.
6949
6950         * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
6951         to anonymous access to subprogram types.
6952
6953         * exp_ch4.adb (Expand_N_In): Preserve Static flag before
6954         constant-folding, for legality checks in contexts that require an RM
6955         static expression.
6956
6957         * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
6958         temporary but stack checking is not enabled, increment serial number
6959         to so that symbol generation is consistent with and without stack
6960         checking.
6961
6962         * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
6963         independent on whether stack checking is enabled, caller must check
6964         the corresponding flag.
6965
6966         * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
6967         range checks.
6968         (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
6969         parent if it has discriminants.
6970         (Build_Derived_Private_Type): Constructed full view does
6971         not come from source.
6972         (Process_Discriminants): Default discriminants on a tagged type are
6973         legal if this is the internal completion of a private untagged
6974         derivation.
6975
6976         * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
6977         no constraint checks, because it corresponds to an existing object.
6978
6979         * sem_prag.adb (Process_Convention): Pragma applies
6980         only to subprograms in the same declarative part, i.e. the same unit,
6981         not the same scope.
6982
6983         * sem_res.adb (Valid_Conversion): In an instance or inlined body,
6984         ignore type mismatch on a numeric conversion if expression comes from
6985         expansion.
6986
6987 2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
6988
6989         * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
6990         Homonym_Number parameter, add processing for Source_Location parameter
6991         corresponding.
6992         (Check_Eliminated): Remove the check for homonym numbers, add the check
6993         for source location traces.
6994
6995         * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
6996         with Arg_Source_Location corresponding to the changes in the format of
6997         the pragma.
6998
6999         * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
7000         Eliminate pragma corresponding to the changes in the format of the
7001         pragma: Homonym_Number is replaced with Source_Location, two ways of
7002         distinguishing homonyms are mutially-exclusive.
7003
7004 2004-04-19  Joel Brobecker  <brobecker@gnat.com>
7005
7006         * get_targ.ads (Get_No_Dollar_In_Label): Remove.
7007
7008         * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
7009         No_Dollar_In_Label, no longer necessary, as it is always True.
7010         (Strip_Suffixes): Likewise.
7011
7012 2004-04-19  Gary Dismukes  <dismukes@gnat.com>
7013
7014         * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
7015         modulus for compatibility with size clause on targets with 16-bit
7016         Integer.
7017
7018         * layout.adb (Discrimify): In the case of private types, set Vtyp to
7019         full type to fix type mismatches on calls to size functions for
7020         discriminant-dependent array components.
7021
7022 2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
7023
7024         * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
7025         lib.
7026
7027 2004-04-19  Pascal Obry  <obry@gnat.com>
7028
7029         * mdll-utl.adb (Locate): New version is idempotent.
7030
7031 2004-04-17  Laurent Guerby <laurent@guerby.net>
7032
7033         PR ada/14988 (partial)
7034         * impunit.adb: Fix typo.
7035
7036 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
7037
7038         * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
7039         and install-rts-cert targets.  Remove all gnatlib and gnattools
7040         targets and all other rts-* targets (moved to libada).  Remove (now)
7041         unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
7042         TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
7043
7044 2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7045
7046         * trans.c (tree_transform): Shortcut returning error_mark_node for
7047         statements in annotate_only_mode.
7048         (tree_transform, case N_Label, case N_Return_Statement,
7049         N_Goto_Statement): Make statement tree instead of generating code.
7050         (tree_transform, case N_Assignment_Statement): No longer check
7051         type_annotate_only.
7052         (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
7053         RETURN_STMT): New.
7054         (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
7055         New fcns.
7056         (gnat_to_gnu): Collect any RTL generated and deal with it.
7057         (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
7058         (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
7059         (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
7060
7061         * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
7062
7063         * ada-tree.def (EXPR_STMT): Fix typo in name.
7064         (BLOCK_STMT, IF_STMT): New nodes.
7065
7066         * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
7067         LABEL_STMT_FIRST_IN_EH): New macros.
7068         (RETURN_STMT_EXPR): Likewise.
7069
7070         * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
7071         IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
7072
7073 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
7074
7075         * atree.ads: Correct documentation on extended nodes.
7076
7077         * link.c: Set run_path_option for FreeBSD.
7078
7079 2004-04-08  Vincent Celier  <celier@gnat.com>
7080
7081         * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
7082         one of the ALI file, do not link with DEC lib.
7083
7084         * par.adb Remove the last two characters ("%s" or "%b") when checking
7085         if a language defined unit may be recompiled.
7086
7087 2004-04-08  Ed Schonberg  <schonberg@gnat.com>
7088
7089         * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
7090         removal of abstract operation leaves no possible interpretation for
7091         expression.
7092
7093         * sem_eval.adb (Eval_Qualified_Expression): Use
7094         Set_Raises_Constraint_Error on node when needed, so that it does not
7095         get optimized away by subsequent optimizations.
7096
7097         * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
7098         operands even when they are not wrapped in a type conversion.
7099
7100 2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
7101
7102         * sem_prag.adb (Set_Exported): Warn about making static as result of
7103         export only when the export is coming from source. This may be not
7104         be true e.g. on VMS where we expand export pragmas for exception codes
7105         together with imported or exported exceptions, and we don't want the
7106         user to be warned about something he didn't write.
7107
7108 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
7109
7110         * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
7111         duplication between normal entities and those declared as renamings.
7112         No functional change.
7113
7114         * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
7115         inline functions returning an unconstrained result.
7116
7117 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
7118
7119         * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
7120         conform to what other front-ends do.
7121
7122 2004-04-08  Doug Rupp  <rupp@gnat.com>
7123
7124         * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
7125         libraries.
7126
7127 2004-04-06  Pascal Obry  <obry@gnat.com>
7128
7129         * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
7130
7131         * osint.adb (Program_Name): Do not look past a directory separator.
7132
7133 2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
7134
7135         * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
7136
7137         * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
7138         requirement for preserving a copy of the original assignment node.
7139
7140         * sinfo.ads: Update comment (Original_Tree -> Original_Node).
7141
7142 2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
7143
7144         (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
7145         when supported.
7146
7147 2004-04-06  Ed Schonberg  <schonberg@gnat.com>
7148
7149         * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
7150         operator calls in functional notation, and apply
7151         Universal_Interpretation to operands, not to their type.
7152
7153 2004-04-06  Robert Dewar  <dewar@gnat.com>
7154
7155         * 5wdirval.adb: Minor reformatting
7156
7157 2004-04-06  Ed Falis  <falis@gnat.com>
7158
7159         * gnat_rm.texi: Improve a reference to the GCC manual
7160
7161 2004-04-05  Vincent Celier  <celier@gnat.com>
7162
7163         * adaint.h, adaint.c: Add function __gnat_named_file_length
7164
7165         * impunit.adb: Add Ada.Directories to the list
7166
7167         * Makefile.in: Add VMS and Windows versions of
7168         Ada.Directories.Validity package body.
7169
7170         * Makefile.rtl: Add a-direct and a-dirval
7171
7172         * mlib-tgt.ads: Minor comment update.
7173
7174         * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
7175         a-direct.ads, a-direct.adb: New files.
7176
7177 2004-04-05  Vincent Celier  <celier@gnat.com>
7178
7179         PR ada/13620
7180         * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
7181         just to the compiler.
7182
7183 2004-04-05  Robert Dewar  <dewar@gnat.com>
7184
7185         * a-except.adb (Exception_Name_Simple): Make sure lower bound of
7186         returned string is 1.
7187
7188         * ali-util.adb: Use proper specific form for Warnings (Off, entity)
7189
7190         * eval_fat.ads: Minor reformatting
7191
7192         * g-curexc.ads: Document that lower bound of returned string values
7193         is always one.
7194
7195         * gnatlink.adb: Add ??? comment for previous change
7196         (need to document why this is VMS specific)
7197
7198         * s-stoele.ads: Minor reformatting
7199
7200         * tbuild.ads: Minor reformatting throughout (new function specs)
7201
7202         * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
7203         after WITH.
7204
7205         * scng.adb: Minor reformatting
7206
7207 2004-04-05  Geert Bosch  <bosch@gnat.com>
7208
7209         * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
7210         (Leading_Part): Still perform truncation to machine number if the
7211         specified radix_digits is greater or equal to machine_mantissa.
7212
7213 2004-04-05  Javier Miranda  <miranda@gnat.com>
7214
7215         * par-ch3.adb: Complete documentation of previous change
7216         Correct wrong syntax documentation of the OBJECT_DECLARATION rule
7217         (aliased must appear before constant).
7218
7219         * par-ch4.adb: Complete documentation of previous change.
7220
7221         * par-ch6.adb: Complete documentation of previous change.
7222
7223         * sinfo.ads: Fix typo in commment.
7224
7225 2004-04-05  Ed Schonberg  <schonberg@gnat.com>
7226
7227         * sem_ch3.adb (Inherit_Components): If derived type is private and has
7228         stored discriminants, use its discriminants to constrain parent type,
7229         as is done for non-private derived record types.
7230
7231         * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
7232         Ada 2005 AI-310: an abstract non-dispatching operation is not a
7233         candidate interpretation in an overloaded call.
7234
7235         * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
7236         expression is Null and target type is not an access type (e.g. a
7237         non-private address type).
7238
7239 2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
7240
7241         * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
7242         statement whose right-hand side is an inlined call, save a copy of the
7243         original assignment subtree to preserve enough consistency for
7244         Analyze_Assignment to proceed.
7245
7246         * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
7247         complete assignment subtree which is now unnecessary, as the expansion
7248         of inlined call has been improved to preserve a consistent assignment
7249         tree.  Note_Possible_Modification must be called only
7250         after checks have been applied, or else unnecessary checks will
7251         be generated.
7252
7253         * sem_util.adb (Note_Possible_Modification): Reorganise the handling
7254         of explicit dereferences that do not Come_From_Source:
7255          - be selective on cases where we must go back to the dereferenced
7256            pointer (an assignment to an implicit dereference must not be
7257            recorded as modifying the pointer);
7258          - do not rely on Original_Node being present (Analyze_Assignment
7259            calls Note_Possible_Modification on a copied tree).
7260
7261         * sem_warn.adb (Check_References): When an unset reference to a pointer
7262         that is never assigned is encountered, prefer '<pointer> may be null'
7263         warning over '<pointer> is never assigned a value'.
7264
7265 2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
7266
7267         * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
7268         the ABI.
7269
7270 2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
7271
7272         * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
7273         libexc. We currently don't reference anything in this library and
7274         linking it in triggers linker warnings we don't want to see.
7275
7276         * init.c: Update comments.
7277
7278 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7279
7280         * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
7281         * utils.c (create_field_decl): Likewise.
7282         * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
7283
7284 2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
7285
7286         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
7287         Replace ifinfo by ifnottex, to make makeinfo --html happy again.
7288         Add info directory entry and category.
7289
7290 2004-04-02  Jan Hubicka  <jh@suse.cz>
7291
7292         * utils.c: Include function.h
7293         (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
7294
7295 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
7296
7297         PR ada/14150
7298         * Make-lang.in: Clean up generation of documentation
7299
7300         * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
7301
7302         * xgnatug.adb: Removed, replaced by xgnatugn.adb
7303
7304         * xgnatugn.adb: Replaces xgnatug.adb
7305
7306         * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
7307
7308         * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
7309
7310         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
7311         gnat_ug_wnt.texi: Removed.
7312
7313 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
7314
7315         * utils2.c: Update copyright notice.
7316
7317 2004-04-01  Robert Dewar  <dewar@gnat.com>
7318
7319         * checks.adb: Minor reformatting throughout
7320         Note that prev checkin added RM reference to alignment warning
7321
7322 2004-04-01  Ed Schonberg  <schonberg@gnat.com>
7323
7324         * exp_aggr.adb (Get_Component_Val): Treat a string literal as
7325         non-static when building aggregate for bit-packed array.
7326
7327         * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
7328         function call that is itself the actual in a procedure call, build
7329         temporary for it.
7330
7331         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
7332         a string literal, create a temporary for it, constant folding only
7333         handles scalars here.
7334
7335 2004-04-01  Vincent Celier  <celier@gnat.com>
7336
7337         * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
7338         Error_Msg_SP): New empty procedures to instantiate the Scanner.
7339         (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
7340         tokens.
7341         (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
7342         (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
7343         and get the checksum.
7344
7345         * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
7346         already in the Q.
7347         Increase the Marking_Label at the end of the Multiple_Main_Loop,
7348         instead of at the beginning.
7349
7350         * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
7351         directly.
7352         (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
7353         on VMS.
7354
7355         * osint.ads (Multi_Unit_Index_Character): New Character global variable
7356
7357         * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
7358         not '~' directly.
7359
7360         * par.adb: Remove test on file name to detect language defined units.
7361         Add test on unit name, after parsing, to detect language defined units
7362         that are not compiled with -gnatg (except System.RPC and its children)
7363
7364         * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
7365         following units without style checking.
7366
7367         * switch-c.adb: Change -gnatC to -gnateI
7368
7369         * usage.adb: Document new switch -gnateInnn
7370
7371         * scng.adb (Accumulate_Token_Checksum): New procedure
7372         (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
7373         word or literal number.
7374         (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
7375         numbers.
7376
7377 2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
7378
7379         * a-tasatt.adb,
7380         g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
7381         switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
7382         5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
7383         5vtpopde.adb: Add missing 'constant' keywords.
7384
7385 2004-04-01  Javier Miranda  <miranda@gnat.com>
7386
7387         * par-ch4.adb: (P_Allocator): Code cleanup
7388
7389         * sem_ch3.adb (Access_Definition): Properly set the null-excluding
7390         attribute.
7391
7392         * sinfo.ads: Complete documentation of previous change
7393
7394 2004-04-01  Pascal Obry  <obry@gnat.com>
7395
7396         * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
7397         only on VMS.  This special handling was done because an old GNU/ld bug
7398         on Windows which has been fixed.
7399
7400 2004-04-01  GNAT Script  <nobody@gnat.com>
7401
7402         * Make-lang.in: Makefile automatically updated
7403
7404 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7405
7406         * decl.c (gnat_to_gnu_entity, make_type_from_size):
7407         Use TYPE_UNSIGNED, not TREE_UNSIGNED.
7408         * trans.c (tree_transform, convert_with_check): Likewise.
7409         * utils.c (gnat_signed_or_unsigned_type): Likewise.
7410         (build_vms_descriptor, unchecked_convert): Likewise.
7411         * utils2.c (nonbinary_modular_operation): Likewise.
7412
7413 2004-03-29  Javier Miranda  <miranda@gnat.com>
7414
7415         * checks.adb (Null_Exclusion_Static_Checks): New subprogram
7416         (Install_Null_Excluding_Check): Local subprogram that determines whether
7417         an access node requires a runtime access check and if so inserts the
7418         appropriate run-time check.
7419         (Apply_Access_Check): Call Install_Null_Excluding check if required
7420         (Apply_Constraint_Check): Call Install_Null_Excluding check if required
7421
7422         * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
7423
7424         * einfo.ads: Fix typo in comment
7425
7426         * exp_ch3.adb (Build_Assignment): Generate conversion to the
7427         null-excluding type to force the corresponding run-time check.
7428         (Expand_N_Object_Declaration): Generate conversion to the null-excluding
7429         type to force the corresponding run-time check.
7430
7431         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
7432         the null-excluding type to force the corresponding run-time check.
7433
7434         * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
7435         case of access types unless they have the null-excluding attribute.
7436
7437         * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
7438         part.
7439
7440         * exp_util.ads: Fix typo in comment
7441
7442         * par.adb (P_Null_Exclusion): New subprogram
7443         (P_Subtype_Indication): New formal that indicates if the null-excluding
7444         part has been scanned-out and it was present
7445
7446         * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
7447
7448         * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
7449         (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
7450         type to force the corresponding run-time check
7451         (Resolve_Aggregate): Propagate the null-excluding attribute to the array
7452         components
7453         (Resolve_Array_Aggregate): Carry out some static checks
7454         (Resolve_Record_Aggregate.Get_Value): Carry out some static check
7455
7456         * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
7457         attribute must be set only if specified by means of the null-excluding
7458         part. In addition, we must also propagate the access-constant attribute
7459         if present.
7460         (Access_Subprogram_Declaration, Access_Type_Declaration,
7461         Analyze_Component_Declaration, Analyze_Object_Declaration,
7462         Array_Type_Declaration, Process_Discriminants,
7463         Analyze_Subtype_Declaration): Propagate the null-excluding attribute
7464         and carry out some static checks.
7465         (Build_Derived_Access_Type): Set the null-excluding attribute
7466         (Derived_Type_Declaration, Process_Subtype): Carry out some static
7467         checks.
7468
7469         * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
7470
7471         * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
7472
7473         * sem_ch6.adb (Process_Formals): Carry out some static checks.
7474         (Set_Actual_Subtypes): Generate null-excluding subtype if the
7475         null-excluding part was present; it is not required to be done here in
7476         case of anonymous access types.
7477         (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
7478         value.
7479
7480         * sem_res.adb (Resolve_Actuals): Carry out some static check
7481         (Resolve_Null): Allow null in anonymous access
7482
7483         * sinfo.adb: New subprogram Null_Exclusion_Present
7484         All_Present and Constant_Present available on access_definition nodes
7485
7486         * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
7487         object_declaration, derived_type_definition, component_definition,
7488         discriminant_specification, access_to_object_definition,
7489         access_function_definition, allocator, access_procedure_definition,
7490         access_definition, parameter_specification, All_Present and
7491         Constant_Present flags available on access_definition nodes.
7492
7493 2004-03-29  Robert Dewar  <dewar@gnat.com>
7494
7495         * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
7496         gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
7497         opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
7498         par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
7499         sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
7500         sem_prag.adb: Updates to handle multiple units/file
7501
7502         * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
7503
7504         * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
7505         sem_util.adb: Minor reformatting
7506
7507         * sem_ch12.adb: Add comment for previous change
7508
7509 2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
7510
7511         * osint.adb (Executable_Prefix): Set Exec_Name to the current
7512         executable name when not initialized. Otherwise, use its current value.
7513
7514         * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
7515         initialize it to another executable name than the current one. This
7516         allows to configure paths for an executable name (gnatmake) different
7517         from the current one (gnatdist).
7518
7519 2004-03-29  Ed Schonberg  <schonberg@gnat.com>
7520
7521         * exp_ch6.adb (Expand_Call): A call to a function declared in the
7522         current unit cannot be inlined if it appears in the body of a withed
7523         unit, to avoid order of elaboration problems in gigi.
7524
7525         * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
7526         information for protected (wrapper) operation as well, to simplify gdb
7527         use.
7528
7529         * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
7530         protected body, indicate that the entity for the generated spec comes
7531         from source, to ensure that references are properly generated for it.
7532         (Build_Body_To_Inline): Do not inline a function that returns a
7533         controlled type.
7534
7535         * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
7536         apply convention to homonyms that are declared explicitly.
7537
7538         * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
7539         that renames an equality operator and the operands are overloaded,
7540         resolve them with the declared formal types, before rewriting as an
7541         operator.
7542
7543 2004-03-29  GNAT Script  <nobody@gnat.com>
7544
7545         * Make-lang.in: Makefile automatically updated
7546
7547 2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
7548
7549         * memtrack.adb: Log realloc calls, which are treated as free followed
7550         by alloc.
7551
7552 2004-03-25  Vincent Celier  <celier@gnat.com>
7553
7554         * prj-makr.adb (Process_Directories): Detect when a file contains
7555         several units. Do not include such files in the config pragmas or
7556         in the naming scheme.
7557
7558         * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
7559         Resolve links only when not in Trusted_Mode.
7560         (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
7561         Do not resolve links for the display names.
7562
7563         * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
7564         resolve links when computing the display names.
7565
7566 2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
7567
7568         * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
7569         attribute reference does not denote a subtype, it can be any
7570         expression that has a classwide type, potentially after an implicit
7571         dereference.  In particular, the prefix can be a view conversion for
7572         a classwide type (for which Is_Object_Reference holds), but it can
7573         also be a value conversion for an access-to-classwide type. In the
7574         latter case, there is an implicit dereference, and the original node
7575         for the prefix does not verify Is_Object_Reference.
7576
7577         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
7578         conversion of a discriminant-dependent component of a mutable object
7579         is one itself.
7580
7581 2004-03-25  Ed Schonberg  <schonberg@gnat.com>
7582
7583         * freeze.adb (Freeze_Entity): When an inherited subprogram is
7584         inherited, has convention C, and has unconstrained array parameters,
7585         place the corresponding warning on the derived type declaration rather
7586         than the original subprogram.
7587
7588         * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
7589         indication on renaming declaration, if formal has a box and actual
7590         is absent.
7591
7592         * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
7593         determine whether to generate an implicit or explicit reference to
7594         the renamed entity.
7595
7596         * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
7597         subprogram renaming comes from a defaulted formal subprogram in an
7598         instance.
7599
7600 2004-03-25  Gary Dismukes  <dismukes@gnat.com>
7601
7602         * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
7603         value expressions to ensure that calls within a component definition
7604         will be checked (since those are evaluated during the record type's
7605         elaboration).
7606
7607 2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
7608
7609         * s-tpobop.adb: Code clean up:
7610         (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
7611         code.
7612         (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
7613
7614 2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
7615
7616         * Makefile.in: Clean up in the ravenscar run time.
7617
7618 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7619
7620         * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
7621         of No_Strict_Aliasing to build_pointer_type_for_mode.
7622         * utils.c (update_pointer_to): Walk pointer and ref chains.
7623
7624 2004-03-22  Cyrille Comar  <comar@act-europe.fr>
7625
7626         * ali.ads: Fix Comment about Dynamic_Elab.
7627
7628         * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
7629         Has_RACW, Is_Generic, etc.)
7630         (Output_Object, Gnatls): Take into account ALI files not attached to
7631         an object.
7632
7633 2004-03-22  Vincent Celier  <celier@gnat.com>
7634
7635         * gprep.adb: Change all String_Access to Name_Id
7636         (Is_ASCII_Letter): new function
7637         (Double_File_Name_Buffer): New procedure
7638         (Preprocess_Infile_Name): New procedure
7639         (Process_Files): New procedure
7640         (Gnatprep): Check if output and input are existing directories.
7641         Call Process_Files to do the real job.
7642
7643 2004-03-22  Robert Dewar  <dewar@gnat.com>
7644
7645         * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
7646         s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
7647
7648 2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
7649
7650         * scn.adb (Contains): Add check for EOF, is needed for a degenerated
7651         case when the source contains only comments.
7652
7653 2004-03-22  Ed Schonberg  <schonberg@gnat.com>
7654
7655         * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
7656         declaration for a child subprogram body that acts as a spec, indicate
7657         that the entity in the declaration needs debugging information.
7658
7659         * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
7660         full view if the subtype is created for a constrained record component;
7661         gigi has enough information to construct the record, and there is no
7662         place in the tree for the declaration.
7663
7664         * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
7665         serial number for the dummy body that is built for analysis, to avoid
7666         inconsistencies in the generation of internal names when compiling
7667         with -gnatN.
7668
7669 2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
7670
7671         * sem_util.adb (Is_Object_Reference): A view conversion denotes an
7672         object.
7673
7674 2004-03-22  GNAT Script  <nobody@gnat.com>
7675
7676         * Make-lang.in: Makefile automatically updated
7677
7678 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7679
7680         * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
7681         * trans.c (tree_transform, emit_index_check): Likewise.
7682         * utils.c (build_template): Likewise.
7683         (max_size, convert): Remove handling of WITH_RECORD_EXPR.
7684         (maybe_unconstrained_array, unchecked_convert): Likewise.
7685         * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
7686         (build_unary_op): Likewise.
7687         (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
7688         (fill_vms_descriptor): Likewise.
7689         (build_call_alloc_dealloc): Likewise.
7690         ALIGN is unsigned.
7691         * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
7692
7693 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
7694
7695         PR other/14630
7696         * gnat_ug.texi: Add info directory category and entry.
7697         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
7698         gnat_ug_wnt.texi: Regenerate.
7699
7700 2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
7701
7702         * ada-tree.h: Update copyright notice.
7703         Minor reformatting.
7704
7705 2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
7706
7707         * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
7708         as regular exception objects and not as mere integers representing the
7709         condition code.  The latter approach required some dynamics to mask off
7710         severity bits, which did not fit well into the GCC table based model.
7711         (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
7712         exception data objects. We don't it and it would conflict with the other
7713         external symbol we have to generate for such exceptions.
7714
7715         * trans.c (tree_transform, case N_Exception_Handler): Remove part of
7716         the special code for VMS exceptions, since these are now represented
7717         as regular exceptions objects.
7718
7719 2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7720
7721         * decl.c (debug_no_type_hash): Remove.
7722         (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
7723         * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
7724
7725 2004-03-19  Laurent Guerby <laurent@guerby.net>
7726
7727         * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
7728         aggregate, allows bootstrap from 3.3 on powerpc-darwin.
7729
7730 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7731
7732         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
7733         (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
7734         (TYPE_RM_SIZE_INT): Directly use type.values.
7735         (TREE_LOOP_ID): Clean up check.
7736         * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
7737         TYPE_VALUES, not TYPE_FIELDS.
7738         * trans.c (convert_with_check): Delay access of bounds of basetype
7739         until sure is numeric.
7740
7741 2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
7742
7743         * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
7744
7745         Code clean up:
7746         * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
7747         5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
7748         Specific.Set instead of direct call to e.g pthread_setspecific.
7749
7750 2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
7751
7752         * adaint.c: Update comments.
7753
7754         * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
7755         GNATLIB_SHARED for FreeBSD.
7756
7757 2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
7758
7759         * init.c [VxWorks]: Do not fix the stack size for the environment task.
7760         When needed (stack checking) the stack size is retrieved
7761         from the VxWorks kernel.
7762
7763         * Makefile.in: Flag -nostdinc is required when building the run time
7764         for avoiding looking for files in the base compiler.
7765         Add the VxWorks specific version of the package body for
7766         System.Stack_checking.Operations (5zstchop.adb).
7767
7768         * Make-lang.in: Add the object file for
7769         System.Stack_Checking.Operations.
7770
7771         * Makefile.rtl: Add object file for the package
7772         System.Stack_Checking.Operations.
7773
7774         * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
7775
7776         * s-stache.ads, s-stache.adb: Move the operations related to stack
7777         checking from this package to package System.Stack_Checking.Operations.
7778         This way, stack checking operations are only linked in the final
7779         executable when using the -fstack-check flag.
7780
7781 2004-03-18  Doug Rupp  <rupp@gnat.com>
7782
7783         * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
7784         Reorganize ifeq's.
7785
7786         * 5qsystem.ads, 5xcrtl.ads: New files.
7787
7788 2004-03-18  Vincent Celier  <celier@gnat.com>
7789
7790         * prj.adb (Reset): Reset hash table Files_Htable
7791
7792         * prj-env.adb (Source_Paths, Object_Paths): New tables.
7793         (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
7794         the procedures Add_To_Path_File.
7795         (Set_Ada_Paths): Accumulate source and object dirs in the tables,
7796         making sure that each directory is present only once and, for object
7797         dirs, when a directory already present is added, the duplicate is
7798         removed and the directory is always put as the last in the table.
7799         Write the path files at the end of these accumulations.
7800
7801         * prj-nmsc.adb (Record_Source): Add source file name in hash table
7802         Files_Htable for all sources.
7803
7804         * prj-proc.adb (Process): Remove restrictions between not directly
7805         related extending projects.
7806
7807 2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
7808
7809         * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
7810         (Find_Sources): Minor speed optimization.
7811
7812         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
7813         parameter Trusted_Mode.
7814
7815 2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
7816
7817         * scn.adb (Determine_License): Take into account a degenerated case
7818         when the source contains only comments.
7819
7820 2004-03-18  Ed Schonberg  <schonberg@gnat.com>
7821
7822         * sem_warn.adb (Check_References): For a warning on a selected
7823         component that does not come from source, locate an uninitialized
7824         component of the record type to produce a more precise error message.
7825
7826 2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
7827
7828         * 3zsoccon.ads: Fix multicast options.
7829
7830         * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
7831         in the spec.
7832
7833 2004-03-15  Robert Dewar  <dewar@gnat.com>
7834
7835         * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
7836         pragma used for a private type.
7837
7838         * lib-xref.adb (Generate_Reference): Do not generate warning if
7839         reference is in a different unit from the pragma Unreferenced.
7840
7841         * 5vtpopde.adb: Minor reformatting
7842         Fix casing of To_Task_ID
7843
7844         * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
7845         flag if we have an unchecked conversion to an access type in the same
7846         unit.
7847
7848 2004-03-15  Geert Bosch  <bosch@gnat.com>
7849
7850         * a-ngcoty.adb (Modulus): In alternate formula for large real or
7851         imaginary parts, use Double precision throughout.
7852
7853         * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
7854         we want to be able to compile run-time with -gnata for testing, but
7855         this may also be instantiated in user code that is compiled with -gnata.
7856
7857 2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
7858
7859         * s-stalib.ads (Exception_Code): New type, to represent Import/Export
7860         codes. Having a separate type for this is useful to enforce consistency
7861         throughout the various run-time units.
7862         (Exception_Data): Use Exception_Code for Import_Code.
7863
7864         * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
7865         Natural and Integer in various places.
7866         (Register_VMS_Exception): Use Base_Code_In to compute the exception code
7867         with the severity bits masked off.
7868         (Register_VMS_Exception): Handle the additional exception data pointer
7869         argument.
7870
7871         * raise.c (_GNAT_Exception structure): Remove the handled_by_others
7872         component, now reflected by an exported accessor.
7873         (is_handled_by): New routine to compute whether the propagated
7874         occurrence matches some handler choice specification. Extracted out of
7875         get_action_description_for, and expanded to take care of the VMS
7876         specifities.
7877         (get_action_description_for): Use is_handled_by instead of an explicit
7878         complex condition to decide if the current choice at hand catches the
7879         propagated occurrence.
7880
7881         * raise.h (Exception_Code): New type for C.
7882
7883         * rtsfind.ads (RE_Id, RE_Unit_Table): Add
7884         System.Standard_Library.Exception_Code, to allow references from the
7885         pragma import/export expander.
7886
7887         * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
7888         New accessors to allow easy access to GNAT exception data
7889         characteristics.
7890         (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
7891         redundant Handled_By_Others component, helper for the personality
7892         routine which will now be able to call the appropriate exception data
7893         accessor instead.
7894
7895         * cstand.adb (Create_Standard): Adjust the type of the Import_Code
7896         component of Standard_Exception_Type to be the closest possible to
7897         Exception_Code in System.Standard_Library, that we cannot get at this
7898         point. Expand a ??? comment to notify that this type node should
7899         probably be rewritten later on.
7900
7901         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
7902         registration call to include a pointer to the exception object in the
7903         arguments.
7904
7905         * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
7906         instead of int and explicit bitmasks.
7907
7908 2004-03-15  Vincent Celier  <celier@gnat.com>
7909
7910         * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
7911         equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
7912
7913         * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
7914         longer needed now that it is in the spec of
7915         System.Tasking.Task_Attributes.
7916
7917         * adaint.h, adaint.c: (__gnat_create_output_file): New function
7918
7919         * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
7920
7921         * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
7922
7923         * make.adb (Gnatmake): Do not check the executable suffix; it is being
7924         taken care of in Scan_Make_Arg.
7925         (Scan_Make_Arg): Add the executable suffix only if the argument
7926         following -o, in canonical case, does not end with the executable
7927         suffix.  When in verbose mode and executable file name does not end
7928         with executable suffix, output the executable name, in canonical case.
7929
7930         * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
7931         to avoid warnings when instantiating Ada.Task_Attributes.
7932         Minor reformating.
7933
7934         * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
7935         in the correct order.
7936
7937         * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
7938         redirect standard output and error to a file for the invocation of the
7939         compiler, then read the file.
7940
7941         * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
7942         directory, instead of the Value.
7943         (Find_Source_Dirs): Remove useless code & comments.
7944
7945 2004-03-15  Ed Schonberg  <schonberg@gnat.com>
7946
7947         * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
7948         tagged type is inherited, and the parent operation is not frozen yet,
7949         force generation of a freeze node for the inherited operation, so the
7950         corresponding dispatch entry is properly initialized.
7951         (Make_Predefined_Primitive_Specs): Check that return type is Boolean
7952         when looking for user-defined equality operation.
7953
7954         * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
7955         boolean when locating primitive equality of tagged component.
7956
7957         * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
7958         bit-aligned field and the right-hand side a string literal, introduce
7959         a temporary before expanding assignment into a loop.
7960
7961         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
7962         priority in full, to ensure that any expanded subepxressions of it are
7963         elaborated in the scope of the init_proc.
7964
7965         * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
7966         after object declaration, skipping over code that may have been
7967         generated for validity checks.
7968
7969         * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
7970         discriminants, ignore the known discriminants of its full view, if
7971         any, to check legality.
7972
7973         * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
7974         component if type has unknown discriminants.
7975         (Analyze_Private_Extension_Declaration): Discriminant constraint is
7976         null if type has unknown discriminants.
7977
7978         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
7979         for end label when present.
7980
7981         * s-fileio.adb (Open): When called with a C_Stream, use given name for
7982         temporary file, rather than an empty string.
7983
7984 2004-03-15  Ed Falis  <falis@gnat.com>
7985
7986         * s-thread.adb: Removed, no longer used.
7987
7988 2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7989
7990         * decl.c (target.h): Now include.
7991         (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
7992         in new build_pointer_from_mode calls for non-fat/non-thin pointer.
7993         (validate_size): For POINTER_TYPE, get smallest size permitted on
7994         machine.
7995
7996         * fe.h: Sort Einfo decls and add Set_Mechanism.
7997
7998         * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
7999         (ada/decl.o): Depends on target.h.
8000
8001         * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
8002         FUNCTION_BOUNDARY; always use TYPE_ALIGN.
8003
8004 2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
8005
8006         * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
8007
8008         * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
8009         Insert_Dereference_Action when rewriting an implicit dereference into
8010         an explicit one, this will be taken care of during expansion of the
8011         explicit dereference.
8012         (Expand_N_Slice): Same. Always do the rewriting, even for the case
8013         of non-packed slices, since the dereference action generated by
8014         expansion of the explicit dereference is needed in any case.
8015         (Expand_N_Selected_Component): When rewriting an implicit dereference,
8016         analyze and resolve the rewritten explicit dereference so it is seen
8017         by the expander.
8018         (Insert_Dereference_Action): This procedure is now called only for the
8019         expansion of an N_Explcit_Dereference_Node. Do insert a check even for
8020         dereferences that do not come from source (including explicit
8021         dereferences resulting from rewriting implicit ones), but do not
8022         recursively insert a check for the dereference nodes contained within
8023         the check.
8024         (Insert_Dereference_Action): Clarify and correct comment.
8025
8026 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
8027
8028         PR ada/14131
8029         Move language detection to the top level.
8030         * config-lang.in: Build by default.
8031
8032 2004-03-05  Robert Dewar  <dewar@gnat.com>
8033
8034         * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
8035
8036         * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
8037         i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
8038         5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
8039         5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
8040         unchecked conversion to spec to avoid warnings.
8041
8042         * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
8043         to Task_ID
8044
8045         * 7stpopsp.adb: Correct casing in To_Task_ID call
8046
8047         * a-strsea.ads, a-strsea.adb: Minor reformatting
8048
8049         * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
8050
8051         * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
8052         Adjust Max_Msg_Length to be clearly large enough.
8053
8054         * fe.h: Define In_Same_Source_Unit
8055
8056         * osint.adb: Add pragma Warnings Off to suppress warnings
8057         * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
8058         aliasing warnings.
8059
8060         * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
8061
8062         * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
8063
8064         * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
8065
8066         * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
8067
8068         * sem_prag.adb: Implement pragma No_Strict_Aliasing.
8069
8070         * sinfo.ads: Remove obsolete comment on validate unchecked conversion
8071         node. We now do generate them for gcc back end.
8072
8073         * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
8074         warning.
8075
8076         * sinput-c.adb: Fix bad name in header.
8077         Add pragma Warnings Off to suppress aliasing warning.
8078
8079         * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
8080
8081         * snames.h, snames.ads, snames.adb: Add entry for pragma
8082         No_Strict_Aliasing.
8083
8084 2004-03-05  Vincent Celier  <celier@gnat.com>
8085
8086         * prj-com.ads: Add hash table Files_Htable to check when a file name
8087         is already a source of another project.
8088
8089         * prj-nmsc.adb (Record_Source): Before recording a new source, check
8090         if its file name is not already a source of another project. Report an
8091         error if it is.
8092
8093         * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
8094         source file name, call gnatpp with all the sources of the main project.
8095
8096         * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
8097         of file names.
8098
8099         * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
8100         NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
8101         /RUNTIME_SYSTEM=, converted to --RTS=
8102         /NOTABS, converted to -notabs
8103
8104 2004-03-05  Pascal Obry  <obry@gnat.com>
8105
8106         * make.adb: Minor reformatting.
8107
8108 2004-03-05  Ed Schonberg  <schonberg@gnat.com>
8109
8110         Part of implemention of AI-262.
8111         * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
8112
8113         * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
8114         procedure.
8115
8116         * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
8117         when component type is a partially constrained class-wide subtype.
8118         (Constrain_Discriminated_Type): If parent type has unknown
8119         discriminants, a constraint is illegal, even if full view has
8120         discriminants.
8121         (Build_Derived_Record_Type): Inherit discriminants when deriving a type
8122         with unknown discriminants whose full view is a discriminated record.
8123
8124         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
8125         flag, to handle properly derivations of tagged types with unknown
8126         discriminants.
8127         (Analyze_Package_Spec, Analyze_Package_Body): Install
8128         Private_With_Clauses before analyzing private part or body.
8129
8130         * einfo.ads: Indicate that both Has_Unknown_Discriminants and
8131         Has_Discriminants can be true for a given type (documentation).
8132
8133 2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
8134
8135         * s-restri.ads: Fix license (GPL->GMGPL).
8136
8137         * s-tassta.adb: Minor reformatting.
8138
8139         * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
8140         by calls to Exit_One_ATC_Level, since additional clean up is performed
8141         by this function.
8142
8143         * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
8144         by calls to Exit_One_ATC_Level, since additional clean up is performed
8145         by this function.
8146
8147 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8148
8149         * trans.c: Reflect GCC changes to fix bootstrap problem.
8150         Add warning for suspicious aliasing unchecked conversion.
8151
8152 2004-03-05  GNAT Script  <nobody@gnat.com>
8153
8154         * Make-lang.in: Makefile automatically updated
8155
8156 2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
8157
8158         * ali.adb (Read_Instantiation_Instance): Do not modify the
8159         current_file_num when reading information about instantiations, since
8160         this corrupts files in later references.
8161
8162 2004-03-02  Vincent Celier  <celier@gnat.com>
8163
8164         * bcheck.adb (Check_Consistency): Get the full path of an ALI file
8165         before checking if it is read-only.
8166
8167         * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
8168         of SRC_DIRS and eliminate duplicates.
8169
8170         * gprcmd.adb: Replace command "path" with command "path_sep" to return
8171         the path separator.
8172         (Usage): Document path_sep
8173
8174         * Makefile.generic: For Ada and GNU C++ cases, link directly with the
8175         C++ compiler. No need for a script.
8176         Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
8177         Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
8178         subst.
8179
8180         * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
8181         where there are Ada sources.
8182         (Set_Ada_Paths): Only add to the include path the source dirs of project
8183         with Ada sources.
8184         (Add_To_Path): Add the Display_Values of the directories, not their
8185         Values.
8186
8187         * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
8188         data.
8189
8190         * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
8191         is not No_Name.
8192         (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
8193         Value is canonicalized.
8194         (Language_Independent_Check): Do not copy Value to Display_Value when
8195         canonicalizing Value.
8196
8197         * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
8198         path to find limited with cycles.
8199         (Parse_Single_Project): Use canonical cased path to find the end of a
8200         with cycle.
8201
8202 2004-03-02  Ed Schonberg  <schonberg@gnat.com>
8203
8204         * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
8205         and not a child unit.
8206
8207         * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
8208         appear in a with_clause.
8209
8210         * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
8211         only happen in type_annotate mode, do not try to elaborate it.
8212
8213         * exp_util.adb (Force_Evaluation): If expression is a selected
8214         component on the left of an assignment, use a renaming rather than a
8215         temporary to remove side effects.
8216
8217         * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
8218         inlined instance body, which is analyzed before the end of the
8219         enclosing scope.
8220
8221 2004-03-02  Robert Dewar  <dewar@gnat.com>
8222
8223         * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
8224         sem_ch4.adb: Use new feature for substitution of keywords in VMS
8225
8226         * errout.ads, errout.adb: Implement new circuit for substitution of
8227         keywords in VMS.
8228
8229         * sem_case.adb (Analyze_Choices): Place message properly when case is
8230         a subtype reference rather than an explicit range.
8231
8232         * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
8233
8234 2004-03-02  Doug Rupp  <rupp@gnat.com>
8235
8236         * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
8237
8238 2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
8239
8240         * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
8241
8242 2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8243
8244         * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
8245         BLKmode bitfield.
8246
8247 2004-02-25  Robert Dewar  <dewar@gnat.com>
8248
8249         * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
8250         55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
8251         5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
8252         5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
8253         5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
8254         5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
8255         the defining instance of the type to avoid aliasing problems.
8256         Fix copyright header.  Fix bad comments in package header.
8257
8258         * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
8259
8260 2004-02-25  Ed Schonberg  <schonberg@gnat.com>
8261
8262         * exp_ch2.adb (Param_Entity): Handle properly formals that have been
8263         rewritten as references when aliased through an address clause.
8264
8265         * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
8266         whether call can be interpreted as an indirect call to the result of a
8267         parameterless function call returning an access subprogram.
8268
8269 2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
8270
8271         Code clean up:
8272         * exp_ch7.adb (Make_Clean): Remove generation of calls to
8273         Unlock[_Entries], since this is now done by Service_Entries directly.
8274
8275         * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
8276
8277         * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
8278         Requeue_Call for better code readability. Change spec and update calls:
8279         PO_Service_Entries now unlock the PO on exit.
8280         (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
8281         PO_Service_Entries.
8282
8283         * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
8284
8285         * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
8286
8287 2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
8288
8289         * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
8290         protected subprogram call and analyzing the result of such expanding
8291         in case when the called protected subprogram is eliminated.
8292
8293         * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
8294         names.
8295
8296 2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
8297
8298         * Makefile.in: Clean ups.
8299
8300 2004-02-23  Ed Schonberg  <schonberg@gnat.com>
8301
8302         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
8303         protected operations if original subprogram is flagged as eliminated.
8304         (Expand_N_Subprogram_Body): For a protected operation, create
8305         discriminals for next operation before checking whether the operation
8306         is eliminated.
8307
8308         * exp_ch9.adb (Expand_N_Protected_Body,
8309         Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
8310         for internal protected operations if the original subprogram is
8311         eliminated.
8312
8313         * sem_elim.adb (Check_Eliminated): Handle properly protected operations
8314         declared in a single protected object.
8315
8316 2004-02-23  Vincent Celier  <celier@gnat.com>
8317
8318         * prj-attr.adb: Make attribute Builder'Executable an associative array,
8319         case insensitive if file names are case insensitive, instead of a
8320         standard associative array.
8321
8322         * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
8323         them as case insensitive on platforms where the file names are case
8324         sensitive.
8325
8326         * prj-part.adb (Parse_Single_Project): Make sure, when checking if
8327         project file has already been parsed that canonical path are compared.
8328
8329 2004-02-23  Robert Dewar  <dewar@gnat.com>
8330
8331         * sinput-c.ads: Correct bad unit title in header
8332
8333         * freeze.adb: Minor reformatting
8334
8335 2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8336
8337         * trans.c (tree_transform, case N_Procedure_Call_Statement): For
8338         nonaddressable COMPONENT_REF that is removing padding that we are
8339         taking the address of, take the address of the padded record instead
8340         if item is variable size.
8341
8342 2004-02-20  Robert Dewar  <dewar@gnat.com>
8343
8344         * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
8345
8346 2004-02-20  Ed Schonberg  <schonberg@gnat.com>
8347
8348         * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
8349         itype references for the constrained designated type of a component
8350         whose base type is already frozen.
8351
8352 2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
8353
8354         * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
8355         avoid GCC warnings.
8356
8357 2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
8358
8359         * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
8360         identifier for a phantom package that rewrites the formal package
8361         declaration with a box. The Add semantic decorations for the defining
8362         identifier from the original node (that represents the formal package).
8363
8364 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
8365
8366         * Make-lang.in (ada/stamp-sdefault): Use the top level
8367         move-if-change.
8368
8369 2004-02-19  Richard Henderson  <rth@redhat.com>
8370
8371         * misc.c (record_code_position): Add third build arg for RTL_EXPR.
8372
8373 2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
8374
8375         * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
8376         Scan_ALI can be used for multiple ALI files without reinitializing
8377         between calls.
8378
8379 2004-02-18  Robert Dewar  <dewar@gnat.com>
8380
8381         * debug.adb: Minor reformatting.
8382
8383 2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8384
8385         * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
8386         to zero if there is an address clause.
8387
8388 2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
8389
8390         * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
8391
8392 2004-02-18  Gary Dismukes  <dismukes@gnat.com>
8393
8394         * layout.adb (Layout_Component_List): Revise generation of call to
8395         discriminant-checking function to pass selections of all of the type's
8396         discriminants rather than just the variant-controlling discriminant.
8397
8398 2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
8399
8400         * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
8401         fail in the current setup and triggers spurious system error messages.
8402         Pretend it occurred and failed instead.
8403
8404 2004-02-18  Vincent Celier  <celier@gnat.com>
8405
8406         * bld.adb: Mark FLDFLAGS as saved
8407         (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
8408         it is not the root project.  Put each directory to be
8409         extended between double quotes to prevent it to be expanded on Windows.
8410         (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
8411         the project file. Set them back to their initial values if they have not
8412         been set in the project file.
8413
8414         * gprcmd.adb: (Gprdebug, Debug): New global variables
8415         (Display_Command): New procedure
8416         (Usage): Document new command "linkopts"
8417         Call Display_Command when env var GPRDEBUG has the value "TRUE"
8418         Implement new command "linkopts"
8419         Remove quotes that may be around arguments for "extend"
8420         Always call Normalize_Pathname with arguments formatted for the platform
8421
8422         * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
8423         Change @echo to @$(display) in target clean to be able to clean silently
8424
8425         * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
8426
8427         * prj-part.adb (Project_Path_Name_Of): Do not put final result in
8428         canonical case.
8429
8430         * prj-part.adb (Parse_Single_Project): Always call with From_Extended
8431         = Extending_All when current project is an extending all project.
8432
8433         * vms_conv.adb (Output_File_Expected): New Boolean global variable,
8434         set to True only for LINK command, after Unix switch -o.
8435         (Process_Arguments): Set Output_File_Expected to True for LINK command
8436         after Unix switch -o. When Output_File_Expected is True, never add an
8437         extension to a file name.
8438
8439         * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
8440         option file name, only to the --for-linker= switch.
8441         (Option_File_Name): If option file name do not end with ".opt", append
8442         "/OPTIONS".
8443
8444 2004-02-18  GNAT Script  <nobody@gnat.com>
8445
8446         * Make-lang.in: Makefile automatically updated
8447
8448 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
8449
8450         * Make-lang.in (stamp-sdefault): Do not depend on
8451         move-if-change.
8452
8453 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
8454
8455         * config-lang.in: Disable Ada by default until probe logic for
8456         a bootstrap Ada compiler can be moved to the top level configure
8457         script.
8458
8459 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
8460
8461         * decl.c (components_to_record): Don't claim that the internal fields
8462         we make to hold the variant parts are semantically addressable, because
8463         they are not.
8464
8465         * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
8466         adjust the comment describing the modular type form when we can use it.
8467         (Install_PAT): Account for the Esiz renaming.
8468
8469         * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
8470         sc_onstack context indication before raising the exception to which
8471         the signal is mapped. Allows better handling of later signals possibly
8472         triggered by the resumed user code if the exception is handled.
8473
8474 2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
8475
8476         * 5zinit.adb: Removed, no longer used.
8477
8478 2004-02-12  Robert Dewar  <dewar@gnat.com>
8479
8480         * ali.adb: Remove separating space between parameters on R line. Makes
8481         format consistent with format used by the binder for Set_Globals call.
8482
8483         * atree.ads, atree.adb: Minor reformatting (new function header format)
8484
8485         * bindgen.adb: Add Run-Time Globals documentation section containing
8486         detailed documentation of the globals passed from the binder file to
8487         the run time.
8488
8489         * gnatls.adb: Minor reformatting
8490
8491         * init.c (__gnat_set_globals): Add note pointing to documentation in
8492         bindgen.
8493
8494         * lib-writ.ads, lib-writ.adb: Remove separating space between
8495         parameters on R line.
8496         Makes format consistent with format used by the binder for Set_Globals
8497         call.
8498
8499         * osint.ads: Add 2004 to copyright notice
8500         Minor reformatting
8501
8502         * snames.ads: Correct capitalization of FIFO_Within_Priorities
8503         Noticed during code reading, documentation issue only
8504
8505         * usage.adb: Remove junk line for obsolete C switch
8506         Noticed during code reading
8507
8508 2004-02-12  Vincent Celier  <celier@gnat.com>
8509
8510         * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
8511         extend for each directory, so that multiple /** directories are
8512         extended individually.
8513         (Recursive_Process): Set the default for LANGUAGES to ada
8514
8515         * gprcmd.adb: Define new command "ignore", to do nothing.
8516         Implement new comment "path".
8517
8518         * Makefile.generic: Suppress output when SILENT is set
8519         Make sure that when compiler for C/C++ is gcc, the correct -x switch is
8520         used, so that the correct compiler is invoked.
8521         When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
8522         CXX_INCLUDE_PATH, to avoid failure with too long command lines.
8523
8524 2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
8525
8526         * Makefile.in: Clean ups and remove obsolete targets.
8527
8528 2004-02-12  Ed Schonberg  <schonberg@gnat.com>
8529
8530         * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
8531         predicate declared in exp_util.
8532
8533         * exp_util.adb: Add comments.
8534
8535         * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
8536         visibility before compiling context of the subunit.
8537
8538         * sem_res.adb (Check_Parameterless_Call): If the context expects a
8539         value but the name is a procedure, do not attempt to analyze as a call,
8540         in order to obtain more telling diagnostics.
8541
8542         * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
8543         'Access on parameterless function calls.
8544         (Normalize_Actuals): For a parameterless function call with missing
8545         actuals, defer diagnostic until resolution of enclosing call.
8546
8547         * sem_util.adb (Wrong_Type): If the context type is an access to
8548         subprogram and the expression is a procedure name, suggest a missing
8549         'attribute.
8550
8551 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
8552             Nathanael Nerode  <neroden@gcc.gnu.org>
8553
8554         PR ada/6637, PR ada/5911
8555         Merge with libada-branch:
8556         * config-lang.in: Build libada only when ada is built.
8557
8558 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
8559
8560         * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
8561         for a tagged type, verify that both formals have the same type.
8562
8563         * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
8564         temporary when the formal is an in-parameter and the actual a possibly
8565         unaligned slice.
8566
8567         * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
8568         when expansion is disabled, to ensure proper name capture with
8569         overloaded literals.  Condition can be of any boolean type, resolve
8570         accordingly.
8571
8572         * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
8573         renaming is for a formal subprogram with a default operator name, and
8574         there is a usable operator that is visible at the point of
8575         instantiation.
8576
8577 2004-02-09  Robert Dewar  <dewar@gnat.com>
8578
8579         * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
8580         rewrite to ignore errors in ali files, intended to allow tools downward
8581         compatibility with new versions of ali files.
8582
8583         * ali.ads: Add new parameter Ignore_Errors
8584
8585         * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
8586         duplicating the error message giving the file with restrictions.
8587
8588         * debug.adb: Add debug flag I for gnatbind
8589
8590         * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
8591         operators for the case where the operator is a defining operator.
8592
8593         * exp_ch3.adb: Minor reformatting (new function spec format).
8594
8595         * exp_ch4.adb: Add comment for previous change, and make minor
8596         adjustment to loop to always check for improper loop termination.
8597         Minor reformatting throughout (new function spec format).
8598
8599         * gnatbind.adb: Implement -di debug flag for gnatbind
8600
8601         * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
8602
8603         * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
8604
8605         * lib-load.adb: Fix bad assertion.
8606         Found by testing and code reading.
8607         Minor reformatting.
8608
8609         * lib-load.ads: Minor reformatting.
8610
8611         * lib-writ.adb: There is only one R line now.
8612
8613         * lib-writ.ads: Add documentation on making downward compatible changes
8614         to ali files so old tools work with new ali files.
8615         There is only one R line now.
8616         Add documentation on format incompatibilities (with special GPS note)
8617
8618         * namet.ads, namet.adb: (Is_Operator_Name): New procedure
8619
8620         * par-load.adb: Minor reformatting
8621
8622         * sem_ch8.adb: Fix to error message from last update
8623         Minor reformatting and restructuring of code from last update
8624
8625         * par-prag.adb, snames.adb, snames.ads, snames.h,
8626         sem_prag.adb: Implement pragma Profile.
8627
8628         * stylesw.adb: Implement -gnatyN switch to turn off all style check
8629         options.
8630
8631         * usage.adb: Add line for -gnatyN switch
8632
8633         * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
8634
8635 2004-02-09  Albert Lee  <lee@gnat.com>
8636
8637         * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
8638
8639 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
8640
8641         * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
8642         slices.
8643
8644         * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
8645         is nested in an instance that is not frozen yet, to avoid
8646         order-of-elaboration problems in gigi.
8647
8648         * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
8649         body the attribute is legal.
8650
8651 2004-02-09  Robert Dewar  <dewar@gnat.com>
8652
8653         * s-rident.ads: Minor comment correction
8654
8655         * targparm.adb: Remove dependence on uintp completely. There was
8656         always a bug in Make in that it called Targparm before initializing
8657         the Uint package. The old code appeared to get away with this, but
8658         the new code did not! This caused an assertion error in gnatmake.
8659
8660         * targparm.ads: Fix bad comment, restriction pragmas with parameters
8661         are indeed fully supported.
8662
8663 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
8664
8665         * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
8666
8667 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
8668
8669         * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
8670         with targetm.calls.promote_prototypes.
8671
8672 2004-02-04  Robert Dewar  <dewar@gnat.com>
8673
8674         * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
8675         ali.ads, gprcmd.adb: Minor reformatting
8676
8677         * bindgen.adb: Output restrictions string for new style restrictions
8678         handling
8679
8680         * impunit.adb: Add s-rident.ads (System.Rident) and
8681         s-restri (System.Restrictions)
8682
8683         * lib-writ.adb: Fix bug in writing restrictions string (last few
8684         entries wrong)
8685
8686         * s-restri.ads, s-restri.adb: Change name Restrictions to
8687         Run_Time_Restrictions to avoid conflict with package name.
8688         Add circuit to read and acquire run time restrictions.
8689
8690 2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
8691
8692         * restrict.ads, restrict.adb: Use the new restriction
8693         No_Task_Attributes_Package instead of the old No_Task_Attributes.
8694
8695         * sem_prag.adb: No_Task_Attributes is a synonym of
8696         No_Task_Attributes_Package.
8697
8698         * snames.ads, snames.adb: New entry for proper handling of
8699         No_Task_Attributes.
8700
8701         * s-rident.ads: Adding restriction No_Task_Attributes_Package
8702         (AI-00249) that supersedes the GNAT specific restriction
8703         No_Task_Attributes.
8704
8705 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
8706
8707         * sem_prag.adb:
8708         (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
8709          body, an identifier may be wrapped in an unchecked conversion.
8710
8711 2004-02-04  Vincent Celier  <celier@gnat.com>
8712
8713         * lib-writ.ads: Comment update for the W lines
8714
8715         * bld.adb: (Expression): An empty string list is static
8716
8717         * fname-uf.adb: Minor comment update
8718
8719         * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
8720
8721         * gnatbind.adb: Initialize Cumulative_Restrictions with the
8722         restrictions on the target.
8723
8724 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
8725
8726         * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
8727         gen_rtx.
8728
8729 2004-02-02  Arnaud Charlet  <charlet@gnat.com>
8730
8731         * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
8732
8733 2004-02-02  Vincent Celier  <celier@gnat.com>
8734
8735         * gprcmd.adb (Check_Args): If condition is false, print the invoked
8736         comment before the usage.
8737         Gprcmd: Fail when command is not recognized.
8738         (Usage): Document command "prefix"
8739
8740         * g-md5.adb (Digest): Process last block.
8741         (Update): Do not process last block. Store remaining characters and
8742         length in Context.
8743
8744         * g-md5.ads (Update): Document that several call to update are
8745         equivalent to one call with the concatenated string.
8746         (Context): Add fields to allow new Update behaviour.
8747
8748         * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
8749         defaulted to False.
8750         When May_Fail is True and no existing file can be found, return No_File.
8751
8752         * 6vcstrea.adb: Inlined functions are now wrappers to implementation
8753         functions.
8754
8755         * lib-writ.adb (Write_With_Lines): When body file does not exist, use
8756         spec file name instead on the W line.
8757
8758 2004-02-02  Robert Dewar  <dewar@gnat.com>
8759
8760         * ali.adb: Read and acquire info from new format restrictions lines
8761
8762         * bcheck.adb: Add circuits for checking restrictions with parameters
8763
8764         * bindgen.adb: Output dummy restrictions data
8765         To be changed later
8766
8767         * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
8768         exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
8769         freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
8770         sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
8771         sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
8772
8773         * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
8774         the warning message on access to possibly uninitialized variable S)
8775         Minor changes for new restrictions handling.
8776
8777         * gnatbind.adb: Minor reformatting
8778         Minor changes for new restrictions handling
8779         Move circuit for -r processing here from bcheck (cleaner)
8780
8781         * gnatcmd.adb, gnatlink.adb: Minor reformatting
8782
8783         * lib-writ.adb: Output new format restrictions lines
8784
8785         * lib-writ.ads: Document new R format lines for new restrictions
8786         handling.
8787
8788         * s-restri.ads/adb: New files
8789
8790         * Makefile.rtl: Add entry for s-restri.ads/adb
8791
8792         * par-ch3.adb: Fix bad error messages starting with upper case letter
8793         Minor reformatting
8794
8795         * restrict.adb: Major rewrite throughout for new restrictions handling
8796         Major point is to handle restrictions with parameters
8797
8798         * restrict.ads: Major changes in interface to handle restrictions with
8799         parameters. Also generally simplifies setting of restrictions.
8800
8801         * snames.ads/adb: New entry for proper handling of No_Requeue
8802
8803         * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
8804         restriction counting.
8805         Other minor changes for new restrictions handling
8806
8807         * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
8808         Restriction_Warnings now allows full parameter notation
8809         Major rewrite of Restrictions for new restrictions handling
8810
8811 2004-02-02  Javier Miranda  <miranda@gnat.com>
8812
8813         * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
8814         syntax rule for object renaming declarations.
8815         (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
8816         component definitions.
8817
8818         * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
8819         components.
8820         (Array_Type_Declaration): Give support to access components. In addition
8821         it was also modified to reflect the name of the object in anonymous
8822         array types. The old code did not take into account that it is possible
8823         to have an unconstrained anonymous array with an initial value.
8824         (Check_Or_Process_Discriminants): Allow access discriminant in
8825         non-limited types.
8826         (Process_Discriminants): Allow access discriminant in non-limited types
8827         Initialize the new Access_Definition field in N_Object_Renaming_Decl
8828         node.  Change Ada0Y to Ada 0Y in comments
8829
8830         * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
8831         equality operators.
8832         Change Ada0Y to Ada 0Y in comments
8833
8834         * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
8835         renamings Change Ada0Y to Ada 0Y in comments
8836
8837         * sem_type.adb (Find_Unique_Type): Give support to the equality
8838         operators for universal access types
8839         Change Ada0Y to Ada 0Y in comments
8840
8841         * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
8842
8843         * sinfo.ads (N_Component_Definition): Addition of Access_Definition
8844         field.
8845         (N_Object_Renaming_Declaration): Addition of Access_Definition field
8846         Change Ada0Y to Ada 0Y in comments
8847
8848         * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
8849         component definition and object renaming nodes
8850         Change Ada0Y to Ada 0Y in comments
8851
8852 2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
8853
8854         * restrict.adb: Use the new restriction identifier
8855         No_Requeue_Statements instead of the old No_Requeue for defining the
8856         restricted profile.
8857
8858         * sem_ch9.adb (Analyze_Requeue): Check the new restriction
8859         No_Requeue_Statements.
8860
8861         * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
8862         that supersedes the GNAT specific restriction No_Requeue. The later is
8863         kept for backward compatibility.
8864
8865 2004-02-02  Ed Schonberg  <schonberg@gnat.com>
8866
8867         * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
8868         5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
8869         pragma and fix incorrect ones.
8870
8871         * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
8872         warning if the pragma is redundant.
8873
8874 2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
8875
8876         * 5staprop.adb: Add missing 'constant' keywords.
8877
8878         * Makefile.in: use consistent value for SYMLIB on
8879         platforms where libaddr2line is supported.
8880
8881 2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8882
8883         * utils.c (end_subprog_body): Do not call rest_of_compilation if just
8884         annotating types.
8885
8886 2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
8887
8888         * init.c (__gnat_install_handler): Setup an alternate stack for signal
8889         handlers in the environment thread. This allows proper propagation of
8890         an exception on stack overflows in this thread even when the builtin
8891         ABI stack-checking scheme is used without support for a stack reserve
8892         region.
8893
8894         * utils.c (create_field_decl): Augment the head comment about bitfield
8895         creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
8896         here, because the former is not accurate enough at this point.
8897         Let finish_record_type decide instead.
8898         Don't make a bitfield if the field is to be addressable.
8899         Always set a size for the field if the record is packed, to ensure the
8900         checks for bitfield creation are triggered.
8901         (finish_record_type): During last pass over the fields, clear
8902         DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
8903         not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
8904         from DECL_BIT_FIELD.
8905
8906 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
8907
8908         * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
8909         (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
8910         (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
8911
8912 2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8913
8914         * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
8915
8916         * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
8917         (ZCX_By_Default): Likewise.
8918         (Front_End_ZCX_Support): Likewise.
8919
8920         * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
8921         (Initialize_Lock): Mark Level unreferenced.
8922         (Sleep): Mark Reason unreferenced.
8923         (Timed_Sleep): Likewise.
8924         (Wakeup): Likewise.
8925         (Exit_Task): Use Result.
8926         (Check_No_Locks): Mark Self_ID unreferenced.
8927
8928         * 5gtasinf.adb (New_Sproc): Make Attr constant.
8929         (Bound_Thread_Attributes): Make Sproc constant.
8930         (New_Bound_Thread_Attributes): Likewise.
8931
8932 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
8933
8934         * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
8935         one-dimensional array an slice assignments, when component type is
8936         controlled.
8937
8938         * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
8939         component type is controlled, and control_actions are in effect, use
8940         TSS procedure rather than generating inline code.
8941
8942         * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
8943         arrays with controlled components.
8944
8945 2004-01-26  Vincent Celier  <celier@gnat.com>
8946
8947         * gnatcmd.adb (GNATCmd): Add specification of argument file on the
8948         command line for the non VMS case.
8949
8950         * gnatlink.adb (Process_Binder_File): When building object file, if
8951         GNU linker is used, put all object paths between quotes, to prevent ld
8952         error when there are unusual characters (such as '!') in the paths.
8953
8954         * Makefile.generic: When there are sources in Ada and the main is in
8955         C/C++, invoke gnatmake with -B, instead of -z.
8956
8957         * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
8958         from VMS_Conversion.
8959         (Process_Argument): New procedure, extracted from VMS_Conversion. Add
8960         specification of argument file on the command line.
8961
8962 2004-01-26  Bernard Banner  <banner@gnat.com>
8963
8964         * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
8965
8966 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
8967
8968         * snames.adb: Update copyright notice.
8969         Add info on slice assignment for controlled arrays.
8970
8971 2004-01-23  Robert Dewar  <dewar@gnat.com>
8972
8973         * exp_aggr.adb: Minor reformatting
8974
8975         * exp_ch9.adb: Minor code clean up
8976         Minor reformatting
8977         Fix bad character in comment
8978
8979         PR ada/13471
8980         * targparm.adb (Get_Target_Parameters): Give clean abort error on
8981         unexpected end of file, along with more detailed message.
8982
8983 2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8984
8985         * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
8986         PAT.
8987
8988         * decl.c (copy_alias_set): New function.
8989         (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
8990
8991 2004-01-23  Doug Rupp  <rupp@gnat.com>
8992
8993         * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
8994         lib$${file} in case subsequent character is not a separator.
8995
8996 2004-01-23  Vincent Celier  <celier@gnat.com>
8997
8998         * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
8999         when the GCC version is at least 3.
9000
9001         * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
9002         Remove all "Opt.", to prepare for opt split
9003
9004         * prj-part.adb (Parse_Single_Project): New Boolean out parameter
9005         Extends_All. Set to True when the project parsed is an extending all
9006         project. Fails for importing an extending all project only when the
9007         imported project is an extending all project.
9008         (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
9009         depending on the value of Extends_All returned.
9010
9011         * prj-proc.adb (Process): Check that no project shares its object
9012         directory with a project that extends it, directly or indirectly,
9013         including a virtual project.
9014         Check that no project extended by another project shares its object
9015         directory with another also extended project.
9016
9017         * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
9018         Kind = N_With_Clause
9019
9020         * prj-tree.ads: Minor reformatting
9021         Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
9022
9023 2004-01-23  Ed Schonberg  <schonberg@gnat.com>
9024
9025         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
9026         applies to a type with an incomplete view, use full view in Name of
9027         clause, for consistency with uses of Get_Attribute_Definition_Clause.
9028
9029 2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
9030
9031         * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
9032         SCHED_RR, since other values are not supported by this policy.
9033         (Initialize): Move initialization of mutex attribute to package
9034         elaboration, to prevent early access to this variable.
9035
9036         * Makefile.in: Remove mention of Makefile.adalib, unused.
9037
9038         * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
9039         1ssecsta.ads: Removed, unused.
9040
9041 2004-01-21  Javier Miranda  <miranda@gnat.com>
9042
9043         * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
9044         entity if already built in the current scope.
9045
9046         * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
9047         reminder in internal scopes. Required for nested limited aggregates.
9048
9049 2004-01-21  Doug Rupp  <rupp@gnat.com>
9050
9051         * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
9052         VMS. Replace all occurences of libgnat- and libgnarl- with
9053         libgnat$(hyphen) and libgnarl$(hyphen).
9054         Fixed shared library build problem on VMS.
9055
9056 2004-01-21  Robert Dewar  <dewar@gnat.com>
9057
9058         * mlib-prj.adb: Minor reformatting
9059
9060 2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
9061
9062         * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
9063         'constant' keywords for declaration of pointers that are not modified.
9064
9065         * exp_pakd.adb: Fix English in comment.
9066
9067 2004-01-21  Ed Schonberg  <schonberg@gnat.com>
9068
9069         PR ada/10889
9070         * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
9071         copy all attributes of the parent, including the foreign language
9072         convention.
9073
9074 2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
9075
9076         PR ada/10565
9077         * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
9078         for 'delay until' statement.
9079
9080 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
9081
9082         * Make-lang.in: Replace $(docdir) with doc.
9083         (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
9084         doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
9085         to use consistent MAKEINFO rule.
9086         (ada.man, ada.srcman): Dummy entry.
9087         (ADA_INFOFILES): Define.
9088         (ada.info, ada.srcinfo): New rules.
9089
9090 2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
9091
9092         * utils.c: Update copyright notice, missed in previous change.
9093
9094 2004-01-19  Vincent Celier  <celier@gnat.com>
9095
9096         * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
9097         args if Bind is True. Set First_ALI, if not already done.
9098         (Build_Library): For Stand Alone Libraries, extract from one ALI file
9099         an eventual --RTS switch, for gnatbind, and all backend switches +
9100         --RTS, for linking.
9101
9102 2004-01-19  Robert Dewar  <dewar@gnat.com>
9103
9104         * sem_attr.adb, memtrack.adb: Minor reformatting
9105
9106 2004-01-19  Ed Schonberg  <schonberg@gnat.com>
9107
9108         * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
9109         that rename enumeration literals. This is properly done in sem_eval.
9110
9111         * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
9112         to functions that rename enumeration literals.
9113
9114         * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
9115         functions that rename enumeration literals.
9116
9117 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
9118
9119         * Make-lang.in (utils.o): Depend on target.h.
9120         * utils.c: Include target.h.
9121         (process_attributes): Use targetm.have_named_sections instead
9122         of ASM_OUTPUT_SECTION_NAME.
9123
9124 2004-01-16  Andreas Jaeger  <aj@suse.de>
9125
9126         * Makefile.in: Add $(DESTDIR).
9127
9128 2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
9129
9130         * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
9131         also when not defining if a Size clause applies. That information is
9132         not to be ignored.
9133
9134 2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
9135
9136         * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
9137         symbolic links for the shared gnat run time when needed.
9138
9139 2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
9140
9141         * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
9142         for writing, and terminate with an error message if not.
9143
9144 2004-01-15  Ed Schonberg  <schonberg@gnat.com>
9145
9146         * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
9147         warning on an access to subprogram in an instance, when the target
9148         type is declared in the same generic unit.
9149         (Eval_Attribute): If 'access is known to fail accessibility check,
9150         rewrite as a raise statement.
9151
9152 2004-01-15  GNAT Script  <nobody@gnat.com>
9153
9154         * Make-lang.in: Makefile automatically updated
9155
9156 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
9157
9158         * Make-lang.in (ada.srcextra): Dummy entry.
9159
9160 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
9161
9162         * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
9163
9164 2004-01-13  Ed Schonberg  <schonberg@gnat.com>
9165
9166         * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
9167         components that are initialized with aggregates.
9168
9169 2004-01-13  Vincent Celier  <celier@gnat.com>
9170
9171         * gnatlink.adb (Process_Binder_File): To find directory of shared
9172         libgcc, if "gcc-lib" is not a subdirectory, look for the last
9173         subdirectory "lib" in the path of the shared libgnat or libgnarl.
9174
9175         * make.adb (Gnatmake): If GCC version is at least 3, link with
9176         -shared-libgcc, when there is at least one shared library project.
9177
9178         * opt.ads (GCC_Version): New integer constant.
9179
9180         * adaint.c (get_gcc_version): New function.
9181
9182 2004-01-13  Robert Dewar  <dewar@gnat.com>
9183
9184         * sem_dist.adb, sem_res.adb, sem_util.adb,
9185         sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
9186         exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
9187
9188 2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
9189
9190         * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
9191         g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
9192         declarations.
9193
9194 2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
9195
9196         * misc.c: Remove trailing spaces.
9197         Update copyright notice missed in previous change.
9198
9199         PR ada/13572
9200         * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
9201         prefix/share/make
9202
9203         * Makefile.generic: Update copyright.
9204         Add license notice.
9205
9206         * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
9207         of prefix/share/make.
9208
9209         * Makefile.prolog: Update copyright.
9210         Add license notice.
9211
9212 2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
9213
9214         * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
9215         3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
9216         g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
9217         instead of String.
9218
9219         * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
9220         signature.
9221
9222 2004-01-12  Javier Miranda  <miranda@gnat.com>
9223
9224         * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
9225         exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
9226         sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
9227         sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
9228         Component_Definition node.
9229
9230 2004-01-12  Ed Falis  <falis@gnat.com>
9231
9232         * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
9233
9234 2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
9235
9236         * link.c: Change default libgnat kind to STATIC for FreeBSD.
9237
9238 2004-01-12  Bernard Banner  <banner@gnat.com>
9239
9240         * Makefile.in: map 86numaux to a-numaux for x86_64
9241
9242 2004-01-12  Ed Schonberg  <schonberg@gnat.com>
9243
9244         * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
9245         generated to rename a generic actual, go to the actual itself, the
9246         subtype is not a user-visible entity.
9247
9248         * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
9249         part is a private subtype, reset the visibility of its full view, if
9250         any, to be consistent.
9251
9252         PR ada/13417
9253         * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
9254         to use a generic package G as a formal package for another generic
9255         declared within G.
9256
9257 2004-01-12  Robert Dewar  <dewar@gnat.com>
9258
9259         * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
9260
9261         * usage.adb: Remove mention of obsolete -gnatwb switch
9262         Noticed during code reading
9263
9264 2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
9265
9266         * 1ssecsta.adb: Minor changes for -gnatwa warnings
9267
9268 2004-01-12  GNAT Script  <nobody@gnat.com>
9269
9270         * Make-lang.in: Makefile automatically updated
9271
9272 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
9273
9274         * misc.c (gnat_expand_expr): Add alt_rtl parameter.
9275
9276 2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9277
9278         * link.c [sgi] (shared_libgnat_default): Change to STATIC.
9279
9280 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
9281
9282         * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
9283         Update comment and copyright date.
9284         * stamp-xgnatug: Delete.
9285
9286 2004-01-05  Robert Dewar  <dewar@gnat.com>
9287
9288         * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
9289         be modified by the binder generated main program if the -D switch is
9290         used.
9291
9292         * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
9293         imported functions (since now we expect this to be done for imported
9294         functions)
9295
9296         * 5vtaprop.adb: Add several ??? for sections requiring more comments
9297         Minor reformatting throughout
9298
9299         * 5zinit.adb: Minor reformatting
9300         Add 2004 to copyright date
9301         Minor changes to avoid -gnatwa warnings
9302         Correct some instances of using OR instead of OR ELSE (noted while
9303         doing reformatting)
9304
9305         * sprint.adb: Minor updates to avoid -gnatwa warnings
9306
9307         * s-secsta.ads, s-secsta.adb:
9308         (SS_Get_Max): New function to obtain high water mark for ss stack
9309         Default_Secondary_Stack is not a constant since it may be modified by
9310         the binder generated main program if the -D switch is used.
9311
9312         * switch-b.adb: New -Dnnn switch for binder
9313
9314         * switch-c.adb:
9315         Make -gnatg imply all warnings currently in -gnatwa
9316
9317         * vms_conv.adb: Minor reformatting
9318         Add 2004 to copyright notice
9319         Add 2004 to printed copyright notice
9320
9321         * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
9322         3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
9323         5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
9324         5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
9325         5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
9326         5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
9327         5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
9328         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
9329         5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
9330         5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
9331         6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
9332         vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
9333         xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
9334         sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
9335         checks.adb, clean.adb, cstand.adb, einfo.ads,
9336         einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
9337         exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
9338         prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
9339         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
9340         g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
9341         lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
9342         Minor reformatting and code clean ups.
9343         Minor changes to prevent -gnatwa warnings
9344
9345         * ali.adb: Minor reformatting and cleanup of code
9346         Acquire new SS indication of secondary stack use from ali files
9347
9348         * a-numaux.ads: Add Pure_Function pragmas for all imported functions
9349         (since now we expect this to be done for imported functions)
9350
9351         * bindgen.adb: Generate call to modify default secondary stack size if
9352         -Dnnn switch given
9353
9354         * bindusg.adb: Add line for new -D switch
9355
9356         * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
9357         replacement name for Type_May_Have_Non_Bit_Aligned_Components!
9358         Add circuitry for both records and arrays to avoid gigi
9359         processing if the type involved has non-bit-aligned components
9360
9361         * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
9362         N_String_Literal node always references an E_String_Literal_Subtype
9363         entity. This may not be true in the future.
9364         (Possible_Bit_Aligned_Component): Move processing of
9365         Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
9366
9367         * exp_ch6.adb (Expand_Thread_Body): Pick up
9368         Default_Secondary_Stack_Size as variable so that we get value modified
9369         by possible -Dnnn binder parameter.
9370
9371         * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
9372         (Type_May_Have_Bit_Aligned_Components): New function.
9373
9374         * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
9375         (Type_May_Have_Bit_Aligned_Components): New function.
9376
9377         * fe.h: (Set_Identifier_Casing): Fix prototype.
9378         Add declaration for Sem_Elim.Eliminate_Error_Msg.
9379         Minor reformatting.
9380
9381         * freeze.adb (Freeze_Entity): Add RM reference to error message about
9382         importing constant atomic/volatile objects.
9383         (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
9384         unless explicit Pure_Function pragma given, to avoid insidious bug of
9385         call to non-pure imported function getting eliminated.
9386
9387         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
9388         gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
9389         gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
9390         Add 2004 to printed copyright notice
9391
9392         * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
9393         stack used.
9394
9395         * Makefile.rtl: Add entry for g-sestin.o
9396         g-sestin.ads: New file.
9397
9398         * mdll.adb: Minor changes to avoid -gnatwa warnings
9399
9400         * mlib-tgt.adb: Minor reformatting
9401
9402         * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
9403         New switch Sec_Stack_Used (GNAT, GNATBIND)
9404         Make Default_Secondary_Stack_Size a variable instead of a constant,
9405         so that it can be modified by the new -Dnnn bind switch.
9406
9407         * rtsfind.adb (Load_Fail): Give full error message in configurable
9408         run-time mode if all_errors mode is set. This was not done in the case
9409         of a file not found, which was an oversight.
9410         Note if secondary stack unit is used by compiler.
9411
9412         * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
9413         ineffective elaborate all pragmas on non-visible packages (this
9414         happened when a renamed subprogram was called). Now the elaborate all
9415         always goes on the package containing the renaming rather than the one
9416         containing the renamed subprogram.
9417
9418         * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
9419         (Process_Eliminate_Pragma): Add parameter to capture pragma location.
9420
9421         * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
9422         has an Etype that references an E_String_Literal.
9423         (Eval_String_Literal): Avoid assumption that N_String_Literal node
9424         always references an E_String_Literal_Subtype entity. This may not
9425         be true in the future.
9426
9427         * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
9428         pragma location.
9429
9430         * sem_res.adb (Resolve): Specialize msg for function name used in proc
9431         call.
9432
9433 2004-01-05  Ed Falis  <falis@gnat.com>
9434
9435         * g-debuti.adb: Replaced direct boolean operator with short-circuit
9436         form.
9437
9438 2004-01-05  Vincent Celier  <celier@gnat.com>
9439
9440         * bld.adb: Minor comment updates
9441         (Process_Declarative_Items): Correct incorrect name (Index_Name instead
9442         of Item_Name).
9443
9444         * make.adb (Gnatmake): Special process for files to compile/check when
9445         -B is specified. Fail when there are only foreign mains in attribute
9446         Main of the project file and -B is not specified. Do not skip bind/link
9447         steps when -B is specified.
9448
9449         * makeusg.adb: Document new switch -B
9450
9451         * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
9452
9453         * switch-m.adb: (Scan_Make_Switches): Process -B switch
9454
9455         * vms_data.ads: Add new GNAT PRETTY qualifier
9456         /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
9457
9458 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9459
9460         * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
9461         case.
9462
9463         * misc.c (gnat_printable_name): If VERBOSITY is 2, call
9464         Set_Identifier_Casing.
9465
9466         * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
9467         has size that overflows.
9468
9469 2004-01-05  Gary Dismukes  <dismukes@gnat.com>
9470
9471         * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
9472         -gnatwa warning on static condition.
9473
9474 2004-01-05  Doug Rupp  <rupp@gnat.com>
9475
9476         * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
9477
9478 2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
9479
9480         * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
9481         all attributes, including read-only attribute.
9482
9483 2004-01-05  Pascal Obry  <obry@gnat.com>
9484
9485         * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
9486         library naming scheme.
9487
9488         * mlib-prj.adb (Build_Library): Generate different names for the static
9489         or dynamic version of the GNAT runtime. This is needed to support the
9490         new shared library naming scheme.
9491         (Process_Binder_File): Add detection of shared library in binder file
9492         based on the new naming scheme.
9493
9494         * gnatlink.adb (Process_Binder_File): Properly detect the new naming
9495         scheme for the shared runtime libraries.
9496
9497         * Makefile.in:
9498         (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
9499         scheme.
9500         (install-gnatlib): Do not create symlinks for shared libraries.
9501         (gnatlib-shared-default): Idem.
9502         (gnatlib-shared-dual-win32): New target. Not used for now as the
9503         auto-import feature does not support arrays/records.
9504         (gnatlib-shared-win32): Do not create copy for the shared libraries.
9505         (gnatlib-shared-vms): Fix shared runtime libraries names.
9506
9507         * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
9508         dependent runtime shared library name.
9509
9510 2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
9511
9512         * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
9513         than the object.
9514
9515 2004-01-05  Ed Schonberg  <schonberg@gnat.com>
9516
9517         * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
9518         protected objects when allocator has a subtype indication, not a
9519         qualified expression. Note that qualified expressions may have to be
9520         checked when limited aggregates are implemented.
9521
9522         * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
9523         pure, emit warning.
9524         (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
9525         subprogram is imported, remove warning.
9526
9527 2004-01-05  Geert Bosch  <bosch@gnat.com>
9528
9529         * s-poosiz.adb: Update copyright notice.
9530         (Allocate): Use Task_Lock to protect against concurrent access.
9531         (Deallocate): Likewise.
9532
9533 2004-01-05  Joel Brobecker  <brobecker@gnat.com>
9534
9535         * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
9536         comment.
9537
9538 2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
9539
9540         * gnat_ug.texi: Force a CVS commit by updating copyright.
9541         * gnat_ug_vxw.texi: Regenerate.
9542         * gnat_ug_wnt.texi: Regenerate.
9543         * gnat_ug_vms.texi: Regenerate.
9544         * gnat_ug_unx.texi: Regenerate.
9545
9546 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
9547
9548         * trans.c: Remove uses of "register" specifier in
9549         declarations of local variables.
9550
9551 2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
9552
9553         * stamp-xgnatug: New stamp file.
9554         * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
9555         (ada/doctools/xgnatug): Add $(build_exeext).
9556         (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
9557         ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
9558
9559 2003-12-17  Ed Falis  <falis@gnat.com>
9560
9561         * a-elchha.adb (Tailored_Exception_Information): made Info constant to
9562         eliminate warning.
9563
9564         * a-exextr.adb: Add context clause for
9565         Ada.Exceptions.Last_Chance_Handler.
9566
9567 2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
9568
9569         * cstand.adb (Create_Standard): Change the way how the declaration of
9570         the Duration type is created (making it the same way as it is for all
9571         the other standard types).
9572
9573 2003-12-17  Robert Dewar  <dewar@gnat.com>
9574
9575         * s-crtl.ads: Fix header format
9576         Change Pure to Preelaborate
9577
9578 2003-12-17  Ed Schonberg  <schonberg@gnat.com>
9579
9580         * checks.adb (Selected_Length_Checks): Generate an Itype reference for
9581         the expression type only if it is declared in the current unit.
9582
9583         * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
9584         are universal and already analyzed, as can occur in constrained
9585         subcomponents that depend on discriminants, when one constraint is a
9586         subtype mark.
9587
9588         * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
9589         type Any_Fixed is legal as the argument of a conversion, if only one
9590         fixed-point type is in context.
9591
9592 2003-12-17  GNAT Script  <nobody@gnat.com>
9593
9594         * Make-lang.in: Makefile automatically updated
9595
9596 2003-12-15  Robert Dewar  <dewar@gnat.com>
9597
9598         * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
9599         sec stack size.
9600
9601 2003-12-15  Vincent Celier  <celier@gnat.com>
9602
9603         * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
9604         (Gnatchop): Do not set failure status when reporting the number of
9605         warnings.
9606
9607 2003-12-15  Doug Rupp  <rupp@gnat.com>
9608
9609         * s-ctrl.ads: New file.
9610
9611         * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
9612
9613         * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
9614         (GNATBIND_OBJS): Add ada/s-crtl.o.
9615
9616         * Makefile.in [VMS]: Clean up ifeq rules.
9617
9618         * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
9619         a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
9620         g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
9621         s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
9622         s-tasdeb.adb: Update copyright.
9623         Import System.CRTL.
9624         Make minor modifications to use System.CRTL declared functions instead
9625         of importing locally.
9626
9627 2003-12-15  GNAT Script  <nobody@gnat.com>
9628
9629         * Make-lang.in: Makefile automatically updated
9630
9631 2003-12-11  Ed Falis  <falis@gnat.com>
9632
9633         * 5zinit.adb: Clean up.
9634
9635         * 5zintman.adb (Notify_Exception): replaced case statement with a call
9636         to __gnat_map_signal, imported from init.c to support
9637         signal -> exception mappings that depend on the vxWorks version.
9638
9639         * init.c:
9640         Created and exported __gnat_map_signal to support signal -> exception
9641         mapping that is dependent on the VxWorks version.
9642         Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
9643
9644 2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
9645
9646         * 5wosinte.ads: Link with -mthreads switch.
9647
9648 2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
9649
9650         * init.c (__gnat_install_handler [NetBSD]): Set
9651         __gnat_handler_installed, as done on all other platforms.
9652         Remove duplicated code.
9653
9654 2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
9655
9656         * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
9657
9658 2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
9659
9660         * sinfo.ads: Fix inconsistent example code in comment.
9661
9662 2003-12-11  Robert Dewar  <dewar@gnat.com>
9663
9664         * a-tiinau.adb: Add a couple of comments
9665
9666         * sem_ch3.adb: Minor reformatting
9667
9668         * sem_prag.adb:
9669         Fix bad prototype of Same_Base_Type in body (code reading cleanup)
9670         Minor reformatting throughout
9671
9672 2003-12-11  Ed Schonberg  <schonberg@gnat.com>
9673
9674         * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
9675         bounds of a loop, create a separate block in order to generate proper
9676         cleanup actions to prevent memory leaks.
9677
9678         * sem_res.adb (Resolve_Call): After a call to
9679         Establish_Transient_Scope, the call may be rewritten and relocated, in
9680         which case no further processing is needed.
9681
9682         * sem_util.adb: (Wrong_Type): Refine previous fix.
9683          Fixes ACATS regressions.
9684
9685         PR ada/13353
9686
9687         * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
9688         be inlined.
9689
9690 2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
9691
9692         * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
9693         i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
9694         obsolete files.
9695
9696         * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
9697         (rts-zfp): Ditto.
9698
9699 2003-12-08  Robert Dewar  <dewar@gnat.com>
9700
9701         * 7sintman.adb: Minor reformatting
9702
9703         * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
9704         standard linker options to get standard libraries linked. We now plan
9705         to provide dummy versions of these libraries to match the appropriate
9706         configurable run-time (e.g. if a library is not needed at all, provide
9707         a dummy empty library).
9708
9709         * targparm.ads: Configurable_Run_Time mode no longer affects linker
9710         options (-L parameters and standard libraries). What we plan to do is
9711         to provide dummy libraries where the libraries are not required.
9712
9713         * gnatbind.adb: Minor comment improvement
9714
9715 2003-12-08  Javier Miranda  <miranda@gnat.com>
9716
9717         * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
9718         aggregate in the parent. Otherwise constants with limited aggregates
9719         are not supported. Add new formal to pass the component type (Ctype).
9720         It is required to call the corresponding IP subprogram in case of
9721         default initialized components.
9722         (Gen_Assign): In case of default-initialized component, generate a
9723         call to the IP subprogram associated with the component.
9724         (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
9725         of aggregate with default initialized components.
9726         (Has_Default_Init_Comps): Improve implementation to recursively check
9727         all the present expressions.
9728
9729         * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
9730         to indicate that the initialization call corresponds to a
9731         default-initialized component of an aggregate.
9732         In case of default initialized aggregate with tasks this parameter is
9733         used to generate a null string (this is just a workaround that must be
9734         improved later). In case of discriminants, this parameter is used to
9735         generate a selected component node that gives access to the discriminant
9736         value.
9737
9738         * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
9739         subprogram, based on Build_Task_Allocate_Block, but adapted to expand
9740         allocated aggregates with default-initialized components.
9741
9742         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
9743         the box notation is used in positional aggregates.
9744
9745 2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
9746
9747         * lib.ads: Fix typo in comment
9748
9749 2003-12-08  Vincent Celier  <celier@gnat.com>
9750
9751         * prj.adb (Project_Empty): New component Unkept_Comments
9752         (Scan): Remove procedure; moved to Prj.Err.
9753
9754         * prj.ads (Project_Data): New Boolean component Unkept_Comments
9755         (Scan): Remove procedure; moved to Prj.Err.
9756
9757         * prj-dect.adb: Manage comments for the different declarations.
9758
9759         * prj-part.adb (With_Record): New component Node
9760         (Parse): New Boolean parameter Store_Comments, defaulted to False.
9761         Set the scanner to return ends of line and comments as tokens, if
9762         Store_Comments is True.
9763         (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
9764         comments are associated with these nodes. Store the node IDs in the
9765         With_Records.
9766         (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
9767         With_Records.
9768         (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
9769         the N_Project node. Call Tree.Save and Tree.Reset before scanning the
9770         current project. Call Tree.Restore afterwards. Set the various nodes
9771         for comment storage (Next_End, End_Of_Line, Previous_Line,
9772         Previous_End).
9773
9774         * prj-part.ads (Parse): New Boolean parameter Store_Comments,
9775         defaulted to False.
9776
9777         * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
9778         to False. When Truncated is True, truncate the string, never go to the
9779         next line.
9780         (Write_End_Of_Line_Comment): New procedure
9781         (Print): Process comments for nodes N_With_Clause,
9782         N_Package_Declaration, N_String_Type_Declaration,
9783         N_Attribute_Declaration, N_Typed_Variable_Declaration,
9784         N_Variable_Declaration, N_Case_Construction, N_Case_Item.
9785         Process nodes N_Comment.
9786
9787         * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
9788         without comments and there are some comments, set the flag
9789         Unkept_Comments to True.
9790         (Scan): If there are comments, set the flag Unkept_Comments to True and
9791         clear the comments.
9792         (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
9793         (Next_End_Nodes: New table
9794         (Comment_Zones_Of): New function
9795         (Scan): New procedure; moved from Prj. Accumulate comments in the
9796         Comments table and set end of line comments, comments after, after end
9797         and before end.
9798         (Add_Comments): New procedure
9799         (Save, Restore, Seset_State): New procedures
9800         (There_Are_Unkept_Comments): New function
9801         (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
9802         (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
9803         procedures.
9804         (First_Comment_After, First_Comment_After_End): New functions
9805         (First_Comment_Before, First_Comment_Before_End): New functions
9806         (Next_Comment): New function
9807         (End_Of_Line_Comment, Follows_Empty_Line,
9808         Is_Followed_By_Empty_Line): New functions
9809         (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
9810         (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
9811         (Set_Next_Comment): New procedure
9812         (Default_Project_Node): Associate comment before if the node can store
9813         comments.
9814
9815         * scans.ads (Token_Type): New enumeration value Tok_Comment
9816         (Comment_Id): New global variable
9817
9818         * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
9819         defaulted to False.
9820         (Scan): Store position of start of comment. If comments are tokens, set
9821         Comment_Id and set Token to Tok_Comment when scanning a comment.
9822         (Set_Comment_As_Token): New procedure
9823
9824         * sinput-p.adb: Update Copyright notice
9825         (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
9826         that no longer exists.
9827
9828 2003-12-08  Javier Miranda  <miranda@gnat.com>
9829
9830         * sem_aggr.adb: Add dependence on Exp_Tss package
9831         Correct typo in comment
9832         (Resolve_Aggregate): In case of array aggregates set the estimated
9833         type of the aggregate before calling resolve. This is needed to know
9834         the name of the corresponding IP in case of limited array aggregates.
9835         (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
9836         in case of default initialized array components.
9837
9838         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
9839         types. Required to give support to limited aggregates in generic
9840         formals.
9841
9842 2003-12-08  Ed Schonberg  <schonberg@gnat.com>
9843
9844         * sem_ch3.adb (Check_Initialization): For legality purposes, an
9845         inlined body functions like an instantiation.
9846         (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
9847         until bounds are analyzed, to diagnose premature use of type.
9848
9849         * sem_util.adb (Wrong_Type): Improve error message when the type of
9850         the expression is used prematurely.
9851
9852 2003-12-08  GNAT Script  <nobody@gnat.com>
9853
9854         * Make-lang.in: Makefile automatically updated
9855
9856 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
9857
9858         * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
9859         they are automatically generated by Make-lang.in and cause nothing but
9860         maintenance troubles.
9861
9862 2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
9863
9864         * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
9865         version of this unit).
9866
9867 2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
9868
9869         * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
9870         5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
9871         5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
9872         the body of System.Interrupt_Management common to several targets.
9873         Update copyright notice when appropriate.
9874
9875         * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
9876         constant.
9877
9878         * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
9879         to ensure that the kernel fills in the interrupted context structure
9880         before calling a signal handler, which is necessary to be able to
9881         unwind past it. Update the copyright notice.
9882
9883 2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
9884
9885         * a-elchha.ads: New file.
9886
9887         * a-elchha.adb: New default last chance handler. Contents taken from
9888         Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
9889
9890         * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
9891         is moved to a-elchha.adb to provide a target-independent default last
9892         chance handler.
9893
9894         * Makefile.rtl: Add a-elchha.o
9895
9896         * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
9897
9898 2003-12-05  Ed Schonberg  <schonberg@gnat.com>
9899
9900         * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
9901         declared in an instance, do not inline the call if the instance is not
9902         frozen yet, to prevent order of elaboration problems.
9903
9904         * sem_prag.adb: Add comments for previous fix.
9905
9906 2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
9907
9908         * g-table.adb: Use the right variable in Set_Item.
9909         Update copyright notice.
9910
9911 2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
9912
9913         * Makefile.in: Remove unused rules.
9914
9915 2003-12-05  Vincent Celier  <celier@gnat.com>
9916
9917         * switch-c.adb (Scan_Front_End_Switches): Remove processing of
9918         -nostdlib. Not needed here after all.
9919
9920 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
9921
9922         PR ada/11724
9923
9924         * adaint.h, adaint.c, g-os_lib.ads:
9925         Do not assume that the offset argument to lseek(2) is a 32 bit integer,
9926         on some platforms (including FreeBSD), it is a 64 bit value.
9927         Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
9928
9929 2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
9930
9931         * gnatvsn.ads (Library_Version): Now contain only the relevant
9932         version info.
9933         (Verbose_Library_Version): New constant.
9934
9935         * g-spipat.adb, g-awk.adb, g-debpoo.adb,
9936         g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
9937         s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
9938
9939         * gnatlbr.adb: Clean up: replace Library_Version by
9940         Verbose_Library_Version.
9941
9942         * make.adb, lib-writ.adb, exp_attr.adb:
9943         Clean up: replace Library_Version by Verbose_Library_Version.
9944
9945         * 5lintman.adb: Removed.
9946
9947         * Makefile.in:
9948         Update and simplify computation of LIBRARY_VERSION.
9949         Fix computation of GSMATCH_VERSION.
9950         5lintman.adb is no longer used: replaced by 7sintman.adb.
9951
9952 2003-12-03  Robert Dewar  <dewar@gnat.com>
9953
9954         * exp_ch5.adb:
9955         (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
9956         name. Modified to consider small non-bit-packed arrays as troublesome
9957         and in need of component-by-component assigment expansion.
9958
9959 2003-12-03  Vincent Celier  <celier@gnat.com>
9960
9961         * lang-specs.h: Process nostdlib as nostdinc
9962
9963         * back_end.adb: Update Copyright notice
9964         (Scan_Compiler_Arguments): Process -nostdlib directly.
9965
9966 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
9967
9968         * Makefile.in:
9969         When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
9970         redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
9971         included in HIE_NONE_TARGET_PAIRS.
9972
9973 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
9974
9975         * sem_attr.adb:
9976         (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
9977         is legal in an instance, because legality is cheched in the template.
9978
9979         * sem_prag.adb:
9980         (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
9981         appplied to an unchecked conversion of a formal parameter.
9982
9983         * sem_warn.adb:
9984         (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
9985         variables.
9986
9987 2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
9988
9989         * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
9990         routines. The second one is new functionality to deal with backtracing
9991         through signal handlers.
9992         (unwind): Split into the two separate subroutines above.
9993         Update the documentation, and deal properly with sizeof (REG) different
9994         from sizeof (void*).
9995
9996 2003-12-01  Nicolas Setton  <setton@act-europe.fr>
9997
9998         * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
9999         so that the debugger can reliably access the value of the parameter,
10000         and therefore is able to display the exception name when an exception
10001         breakpoint is reached.
10002
10003 2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
10004
10005         * fmap.adb: Fix typo in warning message.
10006
10007         * g-socket.ads, g-socket.adb: Make Free a visible instance of
10008         Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
10009
10010 2003-12-01  Vincent Celier  <celier@gnat.com>
10011
10012         * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
10013         ther is no Afile.
10014         (Build_Library): Get the switches only if Default_Switches is declared
10015         in package Binder.
10016
10017 2003-12-01  Ed Schonberg  <schonberg@gnat.com>
10018
10019         * exp_ch6.adb (Expand_Actuals): When applying validity checks to
10020         actuals that are indexed components, reanalyze actual to ensure that
10021         packed array references are properly expanded.
10022
10023         * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
10024         attempted assignment to a discriminant.
10025
10026 2003-12-01  Robert Dewar  <dewar@gnat.com>
10027
10028         * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
10029         reformatting.
10030
10031         * switch-c.adb: Minor reformatting of comments
10032
10033 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
10034
10035         * Makefile.in: Clean ups.
10036
10037 2003-12-01  GNAT Script  <nobody@gnat.com>
10038
10039         * Make-lang.in: Makefile automatically updated
10040
10041 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
10042
10043         * 5wsystem.ads: Disable zero cost exception, not ready yet.
10044
10045 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
10046
10047         * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
10048         to force serialization.
10049
10050 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
10051
10052         * g-socket.ads, g-socket.adb:
10053         Clarify documentation of function Stream. Introduce a Free procedure
10054         to release the returned Stream once it becomes unused.
10055
10056         * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
10057
10058 2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
10059
10060         (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
10061         since NT 4 cannot handle timeout values that are too large,
10062         e.g. DWORD'Last - 1.
10063
10064 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
10065
10066         * exp_ch4.adb:
10067         (Expand_N_Slice): Recognize all cases of slices that appear as actuals
10068         in procedure calls and whose expansion must be deferred.
10069
10070         * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
10071         is in exp_ch4.
10072
10073         * sem_ch3.adb:
10074         (Build_Derived_Array_Type): Create operator for unconstrained type
10075         if ancestor is unconstrained.
10076
10077 2003-11-26  Vincent Celier  <celier@gnat.com>
10078
10079         * make.adb (Project_Object_Directory): New global variable
10080         (Change_To_Object_Directory): New procedure
10081         (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
10082         of Change_Dir directly. Do not change working directory to object
10083         directory of main project after each compilation.
10084         (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
10085         directly.
10086         Change to object directory of main project before binding step.
10087         (Initialize): Initialize Project_Object_Directory to No_Project
10088
10089         * mlib-prj.adb:
10090         (Build_Library): Take into account Builder'Default_Switches ("Ada") when
10091         binding a Stand-Alone Library.
10092
10093         * output.adb: Update Copyright notice
10094         (Write_Char): Output buffer when full
10095
10096 2003-11-26  Robert Dewar  <dewar@gnat.com>
10097
10098         * sem_ch13.adb: (Check_Size): Reset size if size is too small
10099
10100         * sem_ch13.ads:
10101         (Check_Size): Fix documentation to include bit-packed array case
10102
10103         * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
10104
10105         * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
10106
10107         * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
10108
10109 2003-11-24  Arnaud Charlet <charlet@act-europe.fr>
10110
10111         PR ada/13142
10112         * utils.c (init_gigi_decls): Change name of built-in setjmp to
10113         __builtin_setjmp, since this is apparently needed by recent
10114         non Ada changes.
10115
10116 2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10117
10118         * adadecode.c: Only include ctype.h if not IN_GCC.
10119         (__gnat_decode): Use ISDIGIT from safe-ctype.h.
10120
10121 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
10122
10123         * Makefile.in:
10124         Use 5zintman.ads for VxWorks targets. This file avoid confusion between
10125         signals and interrupts.
10126
10127         * 5zintman.ads: New File.
10128
10129         * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
10130         add exception signals to the set of unmasked signals.
10131
10132         * 5ztaprop.adb:
10133         Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
10134         between signals and interrupts.
10135         Add to Unblocked_Signal_Mask the set of signals that are in
10136         Keep_Unmasked.
10137
10138         * 7sinmaop.adb:
10139         Adding a check to see whether the Interrupt_ID we want to unmask is in
10140         the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
10141         reason is that the index type of the Keep_Unmasked array is not always
10142         Interrupt_ID; it may be a subtype of Interrupt_ID.
10143
10144 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
10145
10146         * exp_util.adb:
10147         (Remove_Side_Effects): Condition constantness of object created for a
10148          an unchecked type conversion on the constantness of the expression
10149          to ensure the correct value for 'Constrained when passing components
10150          of view-converted class-wide objects.
10151
10152 2003-11-24  Robert Dewar  <dewar@gnat.com>
10153
10154         * par-load.adb (Load): Improve handling of misspelled and missing units
10155         Removes several cases of compilation abandoned messages
10156
10157         * lib.adb: (Remove_Unit): New procedure
10158
10159         * lib.ads: (Remove_Unit): New procedure
10160
10161         * lib-load.adb: Minor reformatting
10162
10163 2003-11-24  Vincent Celier  <celier@gnat.com>
10164
10165         * make.adb:
10166         (Gnatmake, Initialize): Call Usage instead of Makeusg directly
10167         (Marking_Label): Label to mark processed source files. Incremented for
10168         each executable.
10169         (Gnatmake): Increase Marking_Labet for each executable
10170         (Is_Marked): Compare against marking label
10171         (Mark): Mark with marking label
10172
10173 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
10174
10175         * s-thread.ads:
10176         Move the declaration of the TSD for System.Threads to System.Soft_Links.
10177         Add some comments.
10178
10179         * Makefile.in: Added target pair for s-thread.adb for cert runtime.
10180         (rts-cert): build a single relocatable object for the run-time lib.
10181         Fix perms.
10182
10183 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
10184
10185         * Make-lang.in:
10186         Use gnatls rather than gcc to obtain the location of GNAT RTL for
10187         crosstools build.
10188
10189 2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
10190
10191         * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
10192         can not use it as before (that is, as a variable) when dumping it into
10193         the tree file. Add a local variable to store the result of this
10194         function and to be used as the string to be written into the tree.
10195
10196         * scn.adb (Initialize_Scanner): Add comments explaining the recent
10197         changes.
10198
10199         * sinput.adb (Source_First, Source_Last): In case of
10200         Internal_Source_File, replace returning attributes of
10201         Internal_Source_Ptr (which is wrong) with returning attributes of
10202         Internal_Source.
10203
10204 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
10205
10206         * sem_ch3.adb:
10207         (New_Concatenation_Op): Proper name for New_Binary_Operator, only
10208         used for implicit concatenation operators.
10209         Code cleanup.
10210
10211         * sem_elab.adb:
10212         (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
10213         task bodies that are in the scope of a Suppress pragma.
10214         (Check_A Call): Use the flag to prevent spurious elaboration checks.
10215
10216         * sinfo.ads, sinfo.adb:
10217         New flag No_Elaboration_Check on function/procedure calls, to properly
10218         suppress checks on calls in task bodies that are within a local suppress
10219         pragma.
10220
10221         * exp_ch4.adb:
10222         (Expand_Concatenate_Other): Use the proper integer type for the
10223         expression for the upper bound, to avoid universal_integer computations
10224         when possible.
10225
10226 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
10227
10228         * .cvsignore: Delete.
10229
10230 2003-11-21  Andreas Schwab  <schwab@suse.de>
10231
10232         * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
10233
10234 2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
10235
10236         * 5wsystem.ads: Enable zero cost exception.
10237
10238 2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
10239
10240         * 5ztiitho.adb: Remove an unreferenced variable.
10241
10242 2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
10243
10244         * adaint.c: For FreeBSD, use mkstemp.
10245
10246 2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
10247
10248         * gnatlbr.adb: Now reference Gnat_Static_Version_String.
10249
10250 2003-11-21  Robert Dewar  <dewar@gnat.com>
10251
10252         * bld.adb: Remove useless USE of gnatvsn
10253
10254         * gnatchop.adb: Minor reformatting
10255         Clean up version handling to be more consistent
10256
10257         * gnatxref.adb: Minor reformatting
10258
10259         * gprcmd.adb: Minor reformatting
10260         Fix output of copyright to be more consistent with other tools
10261
10262 2003-11-21  Vincent Celier  <celier@gnat.com>
10263
10264         * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
10265
10266 2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
10267
10268         * atree.adb (Initialize): Add initializations for global variables
10269         used in New_Copy_Tree.
10270
10271         * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
10272         Internal_Source_File as the actual).
10273         Put the set of statements creating Any_Character before the set of
10274         statements creating Any_Array to have Any_Character fully initialized
10275         when it is used in creating Any_Array.
10276
10277         * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
10278         not call Scan in case if the actual is Internal_Source_File
10279         Add 2003 to copyright note.
10280
10281         * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
10282         processing Internal_Source_File.
10283
10284         * types.ads: Add the constant Internal_Source_File representing the
10285         source buffer for artificial source-code-like strings created within
10286         the compiler (the definition of Source_File_Index is changed).
10287
10288 2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
10289
10290         * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
10291         56system.ads: New file, FreeBSD version.
10292
10293 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
10294
10295         * Make-lang.in (ada.extraclean): Delete.
10296
10297 2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
10298
10299         * gnatmem.adb: Clean up verbose output.
10300
10301         * gprcmd.adb: Change copyright to FSF.
10302
10303 2003-11-19  Vincent Celier  <celier@gnat.com>
10304
10305         * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
10306         and Version (ignored).
10307
10308         * symbols.ads: (Policy): New type
10309         (Initialize): New parameter Reference, Symbol_Policy and
10310         Library_Version.
10311         Remove parameter Force.
10312         Minor reformatting.
10313
10314         * snames.ads, snames.adbadb: New standard names
10315         Library_Reference_Symbol_File and Library_Symbol_Policy
10316
10317         * mlib-prj.adb:
10318         (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
10319         project.
10320
10321         * mlib-tgt.adb:
10322         (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
10323
10324         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
10325
10326         * prj.adb: (Project_Empty): New component Symbol_Data
10327
10328         * prj.ads: (Policy, Symbol_Record): New types
10329         (Project_Data): New component Symbol_Data
10330
10331         * prj-attr.adb:
10332         New attributes Library_Symbol_File, Library_Symbol_Policy and
10333         Library_Reference_Symbol_File.
10334
10335         * prj-nmsc.adb:
10336         (Ada_Check): When project is a Stand-Alone library project, process
10337         attribute Library_Symbol_File, Library_Symbol_Policy and
10338         Library_Reference_Symbol_File.
10339
10340         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
10341         5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
10342         5sml-tgt.adb (Build_Dynamic_Library): New parameter
10343         Symbol_Data (ignored).
10344
10345         * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
10346         (Build_Dynamic_Library): New parameter Symbol_Data. New internal
10347         functions Option_File_Name and Version_String. Set new options of
10348         gnatsym related to symbol file, symbol policy and reference symbol
10349         file.
10350
10351         * 5vsymbol.adb:
10352         Extensive modifications to take into account the reference symbol file,
10353         the symbol policy, the library version and to put in the symbol file the
10354         minor and major IDs.
10355
10356         * bld.adb (Process_Declarative_Items): Put second argument of
10357         gprcmd to_absolute between single quotes, to avoid problems with
10358         Windows.
10359
10360         * bld-io.adb: Update Copyright notice.
10361         (Flush): Remove last character of a line, if it is a back slash, to
10362         avoid make problems.
10363
10364         * gnatsym.adb:
10365         Implement new scheme with reference symbol file and symbol policy.
10366
10367         * g-os_lib.ads: (Is_Directory): Clarify comment
10368
10369 2003-11-19  Robert Dewar  <dewar@gnat.com>
10370
10371         * atree.adb: Move New_Copy_Tree global variables to head of package
10372
10373         * errout.adb: Minor reformatting
10374
10375 2003-11-19  Javier Miranda  <miranda@gnat.com>
10376
10377         * sem_ch4.adb: (Diagnose_Call): Improve error message.
10378         Add reference to Ada0Y (AI-50217)
10379
10380         * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
10381         sem_util.adb: Add reference to AI-50217
10382
10383         * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
10384
10385         * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
10386
10387         * sem_aggr.adb: Complete documentation of AI-287 changes
10388
10389         * par-ch4.adb: Document previous changes.
10390
10391         * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
10392         sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
10393         Ada0Y (AI-50217)
10394
10395         * exp_aggr.adb: Add references to AI-287 in previous changes
10396
10397 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
10398
10399         * exp_ch6.adb:
10400         (Add_Call_By_Copy_Node): Do not original node of rewritten expression
10401         in the rewriting is the result of an inlined call.
10402
10403         * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
10404         parameter is a type conversion, use original node to construct the
10405         post-call assignment, because expression may have been rewritten, e.g.
10406         if it is a packed array.
10407
10408         * sem_attr.adb:
10409         (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
10410         body, just as it is in an instance.
10411         Categorization routines
10412
10413         * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
10414         Instantiate_Object): Set proper sloc reference for message on missing
10415         actual.
10416
10417 2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
10418
10419         * Makefile.in: Add FreeBSD libgnat pairs.
10420
10421         * usage.adb: Fix typo in usage message.
10422
10423 2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
10424
10425         * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
10426         s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
10427         pragma Thread_Body.
10428         Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
10429
10430         * s-thread.adb: This file is now a dummy implementation of
10431         System.Thread.
10432
10433 2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
10434
10435         * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
10436
10437 2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
10438
10439         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
10440         instanciation references in the parent type description.
10441
10442 2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10443
10444         * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
10445
10446         * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
10447         TYPE_PRECISION directly from esize.
10448
10449 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
10450
10451         * cstreams.c:
10452         Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
10453
10454         * init.c: Initialization routines for FreeBSD
10455
10456         * link.c: Link info for FreeBSD
10457
10458         * sysdep.c: Add the case of FreeBSD
10459
10460 2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
10461
10462         * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
10463         already called in System.Threads.
10464
10465         * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
10466         environment task, as it has been moved to System.Threads.Initialization.
10467
10468 2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
10469
10470         * adaint.c (__gnatlib_install_locks): Only reference
10471         __gnat_install_locks on VMS, since other platforms can avoid using
10472         --enable-threads=gnat
10473
10474 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10475
10476         * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
10477
10478         * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
10479         TYPE_PACKED_ARRAY_TYPE_P.
10480         (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
10481
10482         Part of PR ada/12806
10483         * utils.c (float_type_for_precision): Renamed from float_type_for_size.
10484         Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
10485
10486 2003-11-17  Vincent Celier  <celier@gnat.com>
10487
10488         * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
10489         to False.
10490         Do not set exit status to Failure when Warning is True.
10491         (Gnatchop): Make errors "no compilation units found" and
10492         "no source files written" warnings only.
10493
10494         * make.adb (Gnatmake): When using a project file, set
10495         Look_In_Primary_Dir to False.
10496         (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
10497         and Local_Configuration_Pragmas in the project where they are declared
10498         not an extending project which might have inherited them.
10499
10500         * osint.adb (Locate_File): If Name is already an absolute path, do not
10501         look for a directory.
10502
10503         * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
10504         -gnats (Check_Syntax) is used, issue only a warning, not an error.
10505
10506         * prj.adb (Register_Default_Naming_Scheme): Add new component Project
10507         in objects of type Variable_Value.
10508
10509         * prj.ads: (Variable_Value): New component Project
10510
10511         * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
10512         is in a project extended by Project.
10513
10514         * prj-proc.adb (Add_Attributes): New parameter Project. Set component
10515         Project of Variable_Values to this new parameter value.
10516         (Expression): Set component Project of Variable_Values.
10517         (Process_Declarative_Items): Call Add_Attributes with parameter Project.
10518         Set the component Project in array elements.
10519
10520 2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
10521
10522         * errout.adb: (Initialize): Add initialization for error nodes.
10523
10524         * sem_ch12.adb (Initialize): Add missing initializations for
10525         Exchanged_Views and Hidden_Entities.
10526
10527 2003-11-17  Ed Schonberg  <schonberg@gnat.com>
10528
10529         * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
10530         already instantiated tree for use in subsequent inlining.
10531         (Analyze_Associations, Instantiate_Formal_Subprogram,
10532         Instantiate_Object): improve error message for mismatch in
10533         instantiations.
10534
10535         * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
10536         instantiations of subprograms declared in instances.
10537
10538 2003-11-17  Javier Miranda  <miranda@gnat.com>
10539
10540         * sem_ch4.adb (Analyze_Allocator): Previous modification must be
10541         executed only under the Extensions_Allowed flag.
10542
10543 2003-11-17  Robert Dewar  <dewar@gnat.com>
10544
10545         * a-exexda.adb (Address_Image): Fix documentation to indicate leading
10546         zeroes suppressed.
10547         (Address_Image): Fix bug of returning 0x instead of 0x0
10548         Minor reformatting (function specs).
10549
10550         * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
10551         (missed case of 33-63)
10552
10553         * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
10554
10555         * s-thread.adb: Add comments for pragma Restriction
10556
10557         * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
10558         sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
10559
10560 2003-11-17  Ed Falis  <falis@gnat.com>
10561
10562         * s-thread.adb: Added No_Tasking restriction for this implementation.
10563
10564 2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
10565
10566         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
10567         instanciation references in the parent type description.
10568
10569 2003-11-17  GNAT Script  <nobody@gnat.com>
10570
10571         * Make-lang.in: Makefile automatically updated
10572
10573 2003-11-16  Jason Merrill  <jason@redhat.com>
10574
10575         * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
10576         and TAGS files that include them for each front end.
10577
10578 2003-11-14  Andreas Jaeger  <aj@suse.de>
10579
10580         * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
10581         is the canonical version.
10582         * misc.c (gnat_handle_option): Likewise.
10583
10584         * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
10585
10586         * 5nsystem.ads: New file for x86_64-linux-gnu.
10587
10588 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
10589
10590         * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
10591
10592         * comperr.adb: Fix logic in previous change.
10593
10594 2003-11-13  Vincent Celier  <celier@gnat.com>
10595
10596         * 5bml-tgt.adb (Build_Dynamic_Library): Use
10597         Osint.Include_Dir_Default_Prefix instead of
10598         Sdefault.Include_Dir_Default_Name.
10599
10600         * gnatlbr.adb: Update Copyright notice
10601         (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
10602         Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
10603         instead of Sdefault.Object_Dir_Default_Name
10604
10605         * gnatlink.adb:
10606         (Process_Binder_File): Never suppress the option following -Xlinker
10607
10608         * mdll-utl.adb:
10609         (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
10610         Sdefault.Object_Dir_Default_Name.
10611
10612         * osint.ads, osint.adb:
10613         (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
10614         Minor reformatting.
10615
10616         * vms_conv.ads: Minor reformating
10617         Remove GNAT STANDARD and GNAT PSTA
10618
10619         * vms_conv.adb:
10620         Allow GNAT MAKE to have several files on the command line.
10621         (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
10622         Sdefault.Object_Dir_Default_Name.
10623         Minor Reformating
10624         Remove data for GNAT STANDARD
10625
10626         * vms_data.ads:
10627         Add new compiler qualifier /PRINT_STANDARD (-gnatS)
10628         Remove data for GNAT STANDARD
10629         Remove options and documentation for -gnatwb/-gnatwB: these warning
10630         options no longer exist.
10631
10632 2003-11-13  Ed Falis  <falis@gnat.com>
10633
10634         * 5zthrini.adb: (Init_RTS): Made visible
10635
10636         * 5zthrini.adb:
10637         (Register): Removed unnecessary call to taskVarGet that checked whether
10638          an ATSD was already set as a task var for the argument thread.
10639
10640         * s-thread.adb:
10641         Updated comment to reflect that this is a VxWorks version
10642         Added context clause for System.Threads.Initialization
10643         Added call to System.Threads.Initialization.Init_RTS
10644
10645 2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
10646
10647         * 5zthrini.adb:
10648         (Init_RTS): New procedure, for the initialization of the run-time lib.
10649
10650         * s-thread.adb:
10651         Remove dependancy on System.Init, so that this file can be used in the
10652         AE653 sequential run-time lib.
10653
10654 2003-11-13  Robert Dewar  <dewar@gnat.com>
10655
10656         * bindgen.adb: Minor reformatting
10657
10658 2003-11-13  Ed Schonberg  <schonberg@gnat.com>
10659
10660         * checks.adb:
10661         (Apply_Discriminant_Check): Do no apply check if target type is derived
10662         from source type with no applicable constraint.
10663
10664         * lib-writ.adb:
10665         (Ensure_System_Dependency): Do not apply the style checks that may have
10666         been specified for the main unit.
10667
10668         * sem_ch8.adb:
10669         (Find_Selected_Component): Further improvement in error message, with
10670         RM reference.
10671
10672         * sem_res.adb:
10673         (Resolve): Handle properly the case of an illegal overloaded protected
10674         procedure.
10675
10676 2003-11-13  Javier Miranda  <miranda@gnat.com>
10677
10678         * exp_aggr.adb:
10679         (Has_Default_Init_Comps): New function to check the presence of
10680         default initialization in an aggregate.
10681         (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
10682         extension aggregate of a limited record. In addition, a new formal
10683         was added to do not initialize the record controller (if any) during
10684         this recursive expansion of ancestors.
10685         (Init_Controller): Add support for limited record components.
10686         (Expand_Record_Aggregate): In case of default initialized components
10687         convert the aggregate into a set of assignments.
10688
10689         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
10690         describing the new syntax.
10691         Nothing else needed to be done because this subprogram delegates part of
10692         its work to P_Precord_Or_Array_Component_Association.
10693         (P_Record_Or_Array_Component_Association): Give support to the new
10694         syntax for default initialization of components.
10695
10696         * sem_aggr.adb:
10697         (Resolve_Aggregate): Relax the strictness of the frontend in case of
10698         limited aggregates.
10699         (Resolve_Record_Aggregate): Give support to default initialized
10700         components.
10701         (Get_Value): In case of default initialized components, duplicate
10702         the corresponding default expression (from the record type
10703         declaration). In case of default initialization in the *others*
10704         choice, do not check that all components have the same type.
10705         (Resolve_Extension_Aggregate): Give support to limited extension
10706         aggregates.
10707
10708         * sem_ch3.adb:
10709         (Check_Initialization): Relax the strictness of the front-end in case
10710         of aggregate and extension aggregates. This test is now done in
10711         Get_Value in a per-component manner.
10712
10713         * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
10714         expression corresponds to a limited aggregate. This test is now done
10715         in Get_Value.
10716
10717         * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
10718         Box_Present flag.
10719
10720         * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
10721         present in an N_Component_Association node
10722
10723 2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
10724
10725         * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
10726         type-conformant entry only if they are homographs.
10727
10728 2003-11-13  GNAT Script  <nobody@gnat.com>
10729
10730         * Make-lang.in: Makefile automatically updated
10731
10732 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10733
10734         * adadecode.c: Use <> form of include for ctype.h.
10735         * sysdep.c [IN_RTS]: Use <> form of include for time.h.
10736
10737 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10738
10739         * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
10740         Works around PR middle-end/6552.
10741
10742 2003-11-10  Ed Falis  <falis@gnat.com>
10743
10744         * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
10745
10746         * 5zinit.adb: (Install_Handler): Moved back to spec
10747         (Install_Signal_Handlers): Deleted
10748
10749         * 5zthrini.adb: Added context clause for System.Storage_Elements
10750         (Register): Only handles creation of taskVar; initialization moved to
10751         Thread_Body_Enter.
10752         (Reset_TSD): Deleted; replaced by Thread_Body_Enter
10753         Added declaration of environment task secondary stack and
10754         initialization.
10755
10756         * s-thread.adb: Implement bodies for thread body processing
10757
10758         * s-thread.ads:
10759         Added comment identifying supported targets for pragma Thread_Body.
10760
10761 2003-11-10  Pascal Obry  <obry@gnat.com>
10762
10763         * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
10764         GNAT_MAX_PATH_LEN.
10765
10766         * s-fileio.adb:
10767         (Open): Properly check for string length before copying into the buffer.
10768         Raises Name_Error if buffer is too small. Note that this was a potential
10769         buffer overflow.
10770
10771 2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
10772
10773         * bindgen.adb, comperr.adb: Code clean ups.
10774         * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
10775
10776 2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
10777
10778         * gnat1drv.adb: Add call to Sem_Elim.Initialize.
10779
10780 2003-11-10  Vincent Celier  <celier@gnat.com>
10781
10782         * gprcmd.adb:
10783         (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
10784         installation.
10785
10786         * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
10787
10788         * prj.adb: (Project_Empty): Add new boolean component Virtual
10789
10790         * prj.ads: (Virtual_Prefix): New constant string
10791         (Project_Data): New boolean component Virtual
10792
10793         * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
10794         a library project is extended by a virtual extending project.
10795
10796         * prj-part.adb:
10797         Modifications throughout to implement extending-all project, including:
10798         (Virtual_Hash, Processed_Hash): New hash tables
10799         (Create_Virtual_Extending_Project): New procedure
10800         (Look_For_Virtual_Projects_For): New procedure
10801
10802         * prj-proc.adb:
10803         (Process): After checking the projects, if main project is an
10804         extending-all project, set the object directory of all virtual extending
10805         project to the object directory of the main project.
10806         Adjust error message when a virtual extending project has the same
10807         object directory as an project being extended.
10808         (Recursive_Process): If name starts with the virtual prefix, set Virtual
10809         to True in the project data.
10810
10811         * prj-tree.adb:
10812         (Default_Project_Node): Add new boolean component Extending_All
10813         (Is_Extending_All): New function
10814         (Set_Is_Extending_All): New procedure
10815
10816         * prj-tree.ads: (Is_Extending_All): New function
10817         (Set_Is_Extending_All): New procedure
10818         (Project_Node_Record): New boolean component Extending_All
10819
10820         * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
10821
10822         * vms_data.ads:
10823         Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
10824
10825         * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
10826         "gprcmd prefix" to define it.
10827
10828 2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
10829
10830         * einfo.ads: Fix a typo and remove an extraneous word in comments.
10831
10832         * lib-load.adb:
10833         (Create_Dummy_Package_Unit): Set the scope of the entity for the
10834         created dummy package to Standard_Standard, not to itself, to
10835         defend other parts of the front-end against encoutering a cycle in
10836         the scope chain.
10837
10838         * sem_ch10.adb:
10839         (Analyze_With_Clause): When setting the entities for the successive
10840         N_Expanded_Names that constitute the name of a child unit, do not
10841         attempt to go further than Standard_Standard in the chain of scopes.
10842         This case arises from the placeholder units created by
10843         Create_Dummy_Package_Unit in the case of a with_clause for a
10844         nonexistent child unit.
10845
10846 2003-11-10  Ed Schonberg  <schonberg@gnat.com>
10847
10848         * exp_ch6.adb:
10849         (Expand_Thread_Body): Place subprogram on scope stack, so that new
10850         declarations are given the proper scope.
10851
10852         * sem_ch13.adb:
10853         (Check_Expr_Constants): Reject an expression that contains a constant
10854         created during expansion, and that appears after the object to which
10855         the address clause applies.
10856
10857         * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
10858         Analyze_Iteration_Scheme, to rewrite a loop parameter specification
10859         that uses 'Range of a function call with controlled components, so
10860         that the function result can be finalized before starting the loop.
10861
10862         * sem_ch8.adb:
10863         (Find_Selected_Component): Improve error message when prefix is
10864         an implicit dereference of an incomplete type.
10865
10866 2003-11-10  Robert Dewar  <dewar@gnat.com>
10867
10868         * opt.ads: New Print_Standard flag for -gnatS switch
10869
10870         * sem_ch13.adb: Remove some additional checks for unaligned arrays
10871
10872         * cstand.adb (Create_Standard): Print out package standard if -gnatS
10873         switch set
10874
10875         * debug.adb: Update doc for -gnatds to discuss relationship with new
10876         -gnatS flag
10877
10878         * sinfo.adb: Add new field Entity_Or_Associated_Node
10879
10880         * sinfo.ads: Add new field Entity_Or_Associated_Node
10881         Update documentation for Associated_Node and Entity fields to clarify
10882         relationship and usage.
10883
10884         * sprint.adb:
10885         (Write_Id): Properly process Associated_Node field in generic template
10886
10887         * switch-c.adb:
10888         Recognize new -gnatS switch for printing package Standard
10889         This replaces gnatpsta
10890
10891         * usage.adb:
10892         Add line for  new -gnatS switch for printing package Standard
10893         This replaces gnatpsta
10894
10895 2003-11-10  Andreas Jaeger  <aj@suse.de>
10896
10897         * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
10898         integer.
10899
10900 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
10901
10902         * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
10903         by gnat1.
10904
10905 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
10906
10907         * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
10908         no longer needed.
10909
10910         * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
10911
10912         * sysdep.c: Add handling of cygwin.
10913
10914 2003-11-10  GNAT Script  <nobody@gnat.com>
10915
10916         * Make-lang.in: Makefile automatically updated
10917
10918 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
10919
10920         PR 12950
10921         * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
10922         functions. Used to handle dynamic prefix relocation, via set_std_prefix.
10923         Replace GNAT_ROOT by GCC_ROOT.
10924
10925         * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
10926
10927 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
10928
10929         * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
10930         and update for changed meaning of GET_MODE_BITSIZE.
10931
10932 2003-11-04  Doug Rupp  <rupp@gnat.com>
10933
10934         * sysdep.c: Problem discovered during IA64 VMS port.
10935         [VMS] #include <unixio.h> to get proper prototypes.
10936
10937         * adaint.c:
10938         Issues discovered/problems fixed during IA64 VMS port.
10939         [VMS] #define _POSIX_EXIT for proper semantics.
10940         [VMS] #include <unixio.h> for proper prototypes.
10941         [VMS] (fork): #define IA64 version.
10942         (__gnat_os_exit): Remove unnecessary VMS specific code.
10943
10944 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10945
10946         Part of PR ada/12806
10947
10948         * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
10949         tree, not integer.
10950
10951         * decl.c:
10952         (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
10953         not integer.
10954
10955         * targtyps.c, decl.c, misc.c,
10956         gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
10957         routines to work around change in FP sizing semantics in GCC.
10958
10959         * utils.c:
10960         (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
10961
10962         * gigi.h: (enumerate_modes): New function.
10963
10964         * Make-lang.in: (ada/misc.o): Add real.h.
10965
10966         * misc.c: (enumerate_modes): New function.
10967
10968 2003-11-04  Robert Dewar  <dewar@gnat.com>
10969
10970         * 3vtrasym.adb: Minor reformatting
10971         Use terminology encoded/decoded name, rather than C++ specific notion
10972         of mangling (this is the terminology used throughout GNAT).
10973
10974         * einfo.h: Regenerated
10975
10976         * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
10977
10978         * exp_ch6.adb:
10979         (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
10980
10981         * par-prag.adb: Add dummy entry for Thread_Body pragma
10982
10983         * rtsfind.ads:
10984         Add entries for System.Threads entities for thread body processing
10985
10986         * sem_attr.adb:
10987         (Analyze_Pragma, Access attributes): Check these are not applied to a
10988         thread body, since this is not permitted
10989
10990         * sem_prag.adb: Add processing for Thread_Body pragma.
10991         Minor comment fix.
10992
10993         * sem_res.adb:
10994         (Resolve_Call): Check for incorrect attempt to call a thread body
10995          procedure with a direct call.
10996
10997         * snames.ads, snames.adb: Add entry for Thread_Body pragma
10998         Add names associated with thread body expansion
10999
11000         * snames.h: Add entry for Thread_Body pragma
11001
11002         * s-thread.adb: Add entries for thread body processing
11003         These are dummy bodies so far
11004
11005         * s-thread.ads: Add documentation on thread body handling.
11006         Add entries for thread body processing.
11007
11008 2003-11-04  Javier Miranda  <miranda@gnat.com>
11009
11010         * sem_ch10.adb:
11011         (Build_Limited_Views): Return after posting an error in case of limited
11012         with_clause on subprograms, generics, instances or generic renamings
11013         (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
11014         on subprograms, generics, instances or generic renamings
11015
11016 2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
11017
11018         * raise.c (setup_to_install): Correct mistake in last revision; two
11019         arguments out of order.
11020
11021         * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
11022         gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
11023         notice, missed in previous change.
11024         Remove trailing blanks and other style errors introduced in previous
11025         change.
11026
11027 2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
11028
11029         * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
11030         rid of the wrapper for a LJM type, ensuring we don't do that if the
11031         field is addressable.  This avoids potential low level type view
11032         mismatches later on, for instance in a by-reference argument passing
11033         process.
11034
11035 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11036
11037         * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
11038         aligned at byte boundary.
11039
11040 2003-11-04  Joel Brobecker  <brobecker@gnat.com>
11041
11042         * decl.c (components_to_record): Do not delete the empty variants from
11043         the end of the union type.
11044
11045 2003-11-04  Ed Schonberg  <schonberg@gnat.com>
11046
11047         * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
11048         operation for a derived type, an explicit declaration may use a local
11049         subtype of Boolean.
11050
11051 2003-11-04  Vincent Celier  <celier@gnat.com>
11052
11053         * make.adb (Gnatmake): Allow main sources on the command line with a
11054         library project when it is only for compilation (no binding or
11055         linking).
11056
11057 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11058
11059         * Makefile.in: Remove many duplicate variables.
11060
11061 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
11062
11063         * Make-lang.in (dvi): Move targets to $(docobjdir).
11064         (gnat_ug_vms.dvi): Simplify rule and adjust target.
11065         (gnat_ug_wnt.dvi): Likewise.
11066         (gnat_ug_unx.dvi): Likewise.
11067         (gnat_ug_vxw.dvi): Likewise.
11068         (gnat_rm.dvi): Likewise.
11069         (gnat-style.dvi): Likewise.
11070
11071 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
11072
11073         * gigi.h: Missed commit from update for C90.
11074
11075 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
11076
11077         * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
11078
11079 2003-10-31  Andreas Schwab  <schwab@suse.de>
11080
11081         * raise.c (get_action_description_for): Fix typo in last change.
11082
11083 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
11084
11085         PR ada/12761
11086         * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
11087         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
11088
11089 2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
11090
11091         * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
11092         ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
11093         gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
11094         sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
11095         trans.c, utils.c, utils2.c: Convert function prototypes to C90.
11096
11097 2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
11098
11099         * 3vtrasym.adb:
11100         Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
11101         numbers when symbol name is too long.
11102
11103 2003-10-30  Ed Falis  <falis@gnat.com>
11104
11105         * g-signal.ads, g-signal.adb: New files
11106
11107         * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
11108
11109         * Makefile.rtl: Introduce GNAT.Signals
11110
11111 2003-10-30  Robert Dewar  <dewar@gnat.com>
11112
11113         * freeze.adb: Minor reformatting
11114
11115         * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
11116
11117         * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
11118         par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
11119         New handling of Id_Check parameter to improve recognition of keywords
11120         used as identifiers.
11121         Update copyright notice to include 2003
11122
11123 2003-10-29  Robert Dewar  <dewar@gnat.com>
11124
11125         * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
11126         sem_ch10.adb: Minor reformatting
11127
11128         * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
11129         (Expand_Assign_Record): Test right hand side for bit unaligned as well
11130
11131 2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
11132
11133         * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
11134         Support for TBK$SYMBOLIZE-based symbolic traceback.
11135
11136 2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
11137
11138         * exp_disp.adb:
11139         Revert previous change, that did not work well when pragma No_Run_Time
11140         was used in conjunction with a run-time other than ZFP.
11141
11142 2003-10-29  Vincent Celier  <celier@gnat.com>
11143
11144         * make.adb:
11145         (Gnatmake): When there are no Ada mains in attribute Main, disable the
11146          bind and link steps only is switch -z is not used.
11147
11148 2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
11149
11150         * Makefile.generic: Remove duplicated setting of CC.
11151
11152         * Makefile.prolog: Set CC to gcc by default, to override make's
11153         default (cc).
11154
11155         * einfo.h: Regenerated.
11156
11157 2003-10-29  Ed Schonberg  <schonberg@gnat.com>
11158
11159         * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
11160         current body, after compiling subunit.
11161
11162         * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
11163         when in deleted code, because gigi needs properly ordered freeze
11164         actions to annotate types.
11165
11166         * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
11167         prevent the premature freezing of record type that contains
11168         subcomponents with a private type that does not yet have a completion.
11169
11170 2003-10-29  Javier Miranda  <miranda@gnat.com>
11171
11172         * sem_ch12.adb:
11173         (Analyze_Package_Instantiation): Check that instances can not be used in
11174         limited with_clauses.
11175
11176         * sem_ch8.adb:
11177         (Analyze_Package_Renaming): Check that limited withed packages cannot
11178         be renamed. Improve text on error messages related to limited
11179         with_clauses.
11180
11181         * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
11182
11183         * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
11184         Update copyright notice.
11185
11186         * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
11187         (Install_Limited_Context_Clauses): New subprogram that isolates all the
11188         checks required for limited context_clauses and installs the limited
11189         view.
11190         (Install_Limited_Withed_Unit): Complete its documentation.
11191         (Analyze_Context): Check that limited with_clauses are only allowed in
11192         package specs.
11193         (Install_Context): Call Install_Limited_Context_Clauses after the
11194         parents have been installed.
11195         (Install_Limited_Withed_Unit): Add documentation. Mark the installed
11196         package as 'From_With_Type'; this mark indicates that the limited view
11197         is installed. Used to check bad usages of limited with_clauses.
11198         (Build_Limited_Views): Do not add shadow entities to the scope's list
11199         of entities. Do not add real entities to the Non_Limited_Views chain.
11200         Improve error notification.
11201         (Remove_Context_Clauses): Remove context clauses in two phases:
11202         limited views first and regular views later (to maintain the
11203         stack model).
11204         (Remove_Limited_With_Clause): If the package is analyzed then reinstall
11205         its visible entities.
11206
11207 2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
11208
11209         * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
11210         with any type that Is_Fixed_Point_Type.
11211
11212         * sinfo.ads: Fix documentation for Associated_Node attribute.
11213
11214 2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
11215
11216         * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
11217         both '-gnatc' and '-gnatt' are specified.
11218
11219         * atree.adb (Initialize): Add initialization for Node_Count (set to
11220         zero).
11221
11222 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11223
11224         * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
11225         do not consider as Pure.
11226
11227         Part of implementation of function-at-a-time:
11228
11229         * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
11230         (tree_transform): Add new argument to build_component_ref.
11231         (tree_transform, case N_Assignment_Statement): Make and return an
11232         EXPR_STMT.
11233         (tree_transform): If result IS_STMT, set flags and return it.
11234         (gnat_expand_stmt, set_lineno_from_sloc): New functions.
11235
11236         * utils2.c (build_simple_component_ref, build_component_ref): Add new
11237         arg, NO_FOLD_P.
11238         (build_binary_op, case EQ_EXPR): Pass additional arg to it.
11239         (build_allocator): Likewise.
11240
11241         * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
11242         Add new arg to build_component_ref.
11243         (maybe_unconstrained_array, unchecked_convert): Likewise.
11244
11245         * ada-tree.def (EXPR_STMT): New code.
11246
11247         * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
11248
11249         * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
11250         build_component_ref calls.
11251
11252         * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
11253
11254         * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
11255         (build_component_ref): Add new argument, NO_FOLD_P.
11256
11257 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
11258
11259         * Makefile.generic: Add missing substitution on object_deps handling.
11260
11261         PR ada/5909:
11262         * Make-lang.in (check-ada): Enable ACATS test suite.
11263
11264 2003-10-27  Robert Dewar  <dewar@gnat.com>
11265
11266         * exp_ch3.adb:
11267         (Freeze_Array_Type): We do not need an initialization routine for types
11268         derived from String or Wide_String. They should be treated the same
11269         as String and Wide_String themselves. This caused problems with the
11270         use of Initialize_Scalars.
11271
11272         * exp_ch5.adb:
11273         (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
11274         composites. This allows use of component clauses that are not byte
11275         aligned.
11276
11277         * sem_prag.adb:
11278         (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
11279         is an attempt to pack an array of atomic objects.
11280
11281         * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
11282
11283 2003-10-27  Pascal Obry  <obry@gnat.com>
11284
11285         * g-dirope.adb:
11286         (Basename): Check for drive letters in a pathname only on DOS based OS.
11287
11288 2003-10-27  Vincent Celier  <celier@gnat.com>
11289
11290         * make.adb:
11291         (Gnatmake): When unable to change dir to the object dir, display the
11292         content of the parent dir of the obj dir, to try to understand why this
11293         happens.
11294
11295 2003-10-27  GNAT Script  <nobody@gnat.com>
11296
11297         * Make-lang.in: Makefile automatically updated
11298
11299 2003-10-27  Ed Schonberg  <schonberg@gnat.com>
11300
11301         * sem_ch12.adb:
11302         (Inline_Instance_Body): Indicate that the save/restore of use_clauses
11303         should not be done in Save/Restore_Scope_Stack, because it is performed
11304         locally.
11305
11306         * sem_ch8.adb:
11307         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
11308         whether use clauses should be removed/restored.
11309
11310         * sem_ch8.ads:
11311         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
11312         whether use clauses should be removed/restored.
11313
11314 2003-10-26  Andreas Jaeger  <aj@suse.de>
11315
11316         * Makefile.in: Remove duplicated lines.
11317
11318 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
11319
11320         * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
11321         minimize the differences with ACT tree.
11322
11323         * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
11324         gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
11325         Gnatvsn.Gnat_Static_Version_String to reduce differences between
11326         ACT and FSF trees.
11327
11328 2003-10-24  Pascal Obry  <obry@gnat.com>
11329
11330         * adadecode.c (ostrcpy): New function.
11331         (__gnat_decode): Use ostrcpy of strcpy.
11332         (has_prefix): Set first parameter a const.
11333         (has_suffix): Set first parameter a const.
11334         Update copyright notice. Fix source name in header.
11335         Removes a trailing space.
11336         PR ada/12014.
11337
11338 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
11339
11340         * exp_disp.adb:
11341         Remove the test against being in No_Run_Time_Mode before generating a
11342         call to Register_Tag. It is redundant with the test against the
11343         availability of the function Register_Tag.
11344
11345 2003-10-24  Vincent Celier  <celier@gnat.com>
11346
11347         * g-catiio.adb: (Month_Name): Correct spelling of February
11348
11349         * make.adb: (Mains): New package
11350         (Initialize): Call Mains.Delete
11351         (Gnatmake): Check that each main on the command line is a source of a
11352         project file and, if there are several mains, each of them is a source
11353         of the same project file.
11354         (Gnatmake): When a foreign language is specified in attribute Languages,
11355         no main is specified on the command line and attribute Mains is not
11356         empty, only build the Ada main. If there is no Ada main, just compile
11357         the Ada sources and their closure.
11358         (Gnatmake): If a main is specified on the command line with directory
11359         information, check that the source exists and, if it does, that the path
11360         is the actual path of a source of a project.
11361
11362         * prj-env.adb:
11363         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
11364         Full_Path is True, return the full path instead of the simple file name.
11365         (Project_Of): New function
11366
11367         * prj-env.ads:
11368         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
11369         defaulted to False.
11370         (Project_Of): New function
11371
11372 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
11373
11374         * Makefile.generic:
11375         Ensure objects of main project are always checked and rebuilt if needed.
11376         Set CC to gcc by default.
11377         Prepare new handling of link by creating a global archive (not activated
11378         yet).
11379
11380         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
11381         stringt.h: Update copyright notice. Remove trailing blanks.
11382         Fix source name in header.
11383
11384 2003-10-24  Robert Dewar  <dewar@gnat.com>
11385
11386         * sem_ch12.adb: Minor reformatting
11387
11388         * sem_ch3.adb:
11389         Minor reformatting (including new function return style throughout)
11390
11391         * sem_ch3.ads:
11392         Minor reformatting (including new function return style throughout)
11393
11394 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
11395
11396         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
11397         stringt.h: Update copyright notice. Remove trailing blanks.
11398         Fix source name in header.
11399
11400 2003-10-24  GNAT Script  <nobody@gnat.com>
11401
11402         * Make-lang.in: Makefile automatically updated
11403
11404 2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
11405
11406         * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
11407         stringt.h: Convert to ISO C90 declarations and definitions.
11408
11409 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
11410
11411         PR ada/11978:
11412         * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
11413         External_Tag attribute definition clauses.
11414
11415 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
11416
11417         PR ada/7613:
11418         * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
11419         child unit, generate a fully qualified name to avoid spurious errors
11420         when the context contains renamings of different child units with
11421         the same simple name.
11422
11423         * exp_dbug.ads: Add documentation on name qualification for renamings
11424         of child units.
11425
11426 2003-10-23  Robert Dewar  <dewar@gnat.com>
11427
11428         * g-regpat.ads, g-regpat.adb: Minor reformatting
11429
11430 2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
11431
11432         * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
11433
11434 2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11435
11436         * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
11437         Machine call.
11438
11439         * urealp.h: (Machine): Update to proper definition.
11440
11441 2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
11442
11443         * init.c, adaint.c: Minor reformatting.
11444
11445 2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
11446
11447         * adaint.c (w32_epoch_offset): Define static const at file level.
11448         (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
11449         rather than t_create, t_access in call to GetFileTime. Use union
11450         to convert between FILETIME and  unsigned long long.
11451         (__gnat_file_time_name): Test for invalid file handle.
11452         (__gnat_set_filetime_name): Support win32 targets using
11453         w32api SetFileTime.
11454
11455 2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
11456
11457         * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
11458
11459         * ctrl_c.c (__gnat_int_handler): Remove declaration.
11460
11461         * decl.c (creat_concat_name):  Const-ify prefix.
11462
11463         * adaint.c: Include ctype.h if __MINGW32__.
11464         (__gnat_readlink): Mark arguments as possibly unused.
11465         (__gnat_symlink): Likewise.
11466         (__gnat_is_symbolic_link): Likewise.
11467         (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
11468         declaration
11469         (__gnat_file_time_name): Don't declare struct stat statbuf when
11470         not needed.
11471         (__gnat_is_absolute_path): Add parenthesis around condition of
11472         'if' statement to avoid warning.
11473         (__gnat_plist_init): Specify void as parameter.
11474         (plist_enter): Likewise.
11475         (plist_leave): Likewise.
11476         (remove_handle): Make static. Initialize prev.
11477
11478 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
11479
11480         * Makefile.in: Disable build of gnatpsta. PR ada/10110.
11481         * cstreams.c (__gnat_full_name): Minor improvements and clean up
11482         of previous change.
11483
11484 2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11485
11486         * tracebak.c (MAX): Avoid redefinition warning.
11487
11488         * init.c [sgi] (__gnat_error_handler): Remove i, unused.
11489         Change msg to const char *.
11490         (__gnat_install_handler): Remove ss, unused.
11491         [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
11492         to const char *.
11493         * cstreams.c (__gnat_full_name): Declare p only when used.
11494         (__gnat_full_name) [sgi] Return buffer.
11495
11496 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
11497
11498         * mingw32.h: New file.
11499         * gnat_wrapper.adb: New file.
11500
11501 2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
11502
11503         * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
11504         string match a pre compiled regular expression (the corresponding
11505         version of the function working on a raw regular expression)
11506         Fix typos in various comments
11507         Update copyright notice in spec
11508
11509 2003-10-21  Gary Dismukes  <dismukes@gnat.com>
11510
11511         * exp_ch3.adb:
11512         (Component_Needs_Simple_Initialization): Return False when the type is a
11513         packed bit array. Revise spec comments to document this case.
11514
11515         * exp_prag.adb:
11516         (Expand_Pragma_Import): Set any expression on the imported object to
11517         empty to avoid initializing imported objects (in particular this
11518         covers the case of zero-initialization of bit arrays).
11519         Update copyright notice.
11520
11521 2003-10-21  Ed Schonberg  <schonberg@gnat.com>
11522
11523         * sem_ch12.adb:
11524         (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
11525         a subunit is missing.
11526         (Instantiate_Subprogram_Body): If body of function is missing, set type
11527         of return expression explicitly in dummy body, to prevent cascaded
11528         errors when a subunit is missing.
11529         Fixes PR 5677.
11530
11531         * sem_ch3.adb:
11532         (Access_Subprogram_Declaration): Verify that return type is valid.
11533         Fixes PR 8693.
11534
11535         * sem_elab.adb:
11536         (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
11537         generic.
11538         Fixes PR 12318.
11539
11540         * sem_util.adb:
11541         (Corresponding_Discriminant): If the scope of the discriminant is a
11542         private type without discriminant, use its full view.
11543         Fixes PR 8247.
11544
11545 2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
11546
11547         * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
11548         3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
11549         3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
11550         55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
11551         56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
11552         59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
11553         5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
11554         5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
11555         5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
11556         5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
11557         5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
11558         5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
11559         5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
11560         5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
11561         7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
11562         a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
11563         a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
11564         a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
11565         bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
11566         erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
11567         err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
11568         g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
11569         g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
11570         g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
11571         g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
11572         g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
11573         g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
11574         gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
11575         g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
11576         g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
11577         i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
11578         prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
11579         prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
11580         s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
11581         s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
11582         s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
11583         s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
11584         s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
11585         s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
11586         s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
11587         s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
11588         socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
11589         s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
11590         s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
11591         s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
11592         styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
11593         s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
11594         tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
11595         vms_conv.ads, vms_conv.adb, vms_data.ads,
11596         vxaddr2line.adb: Files added. Merge with ACT tree.
11597
11598         * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
11599         5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
11600         5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
11601         5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
11602         g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
11603         s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
11604         s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
11605         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
11606         s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
11607         s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
11608
11609         * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
11610         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
11611         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
11612         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
11613         4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
11614         4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
11615         4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
11616         4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
11617         51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
11618         53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
11619         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
11620         5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
11621         5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
11622         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
11623         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
11624         5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
11625         5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
11626         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
11627         5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
11628         5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
11629         5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
11630         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
11631         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
11632         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
11633         5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
11634         5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
11635         5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
11636         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
11637         5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
11638         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
11639         5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
11640         5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
11641         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
11642         5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
11643         6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
11644         7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
11645         7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
11646         a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
11647         a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
11648         a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
11649         a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
11650         a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
11651         ali.adb, ali.ads, ali-util.adb, ali-util.ads,
11652         a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
11653         a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
11654         a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
11655         a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
11656         a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
11657         a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
11658         a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
11659         a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
11660         a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
11661         a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
11662         a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
11663         a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
11664         atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
11665         a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
11666         a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
11667         bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
11668         checks.adb, checks.ads, cio.c, comperr.adb,
11669         comperr.ads, csets.adb, cstand.adb, cstreams.c,
11670         debug_a.adb, debug_a.ads, debug.adb, decl.c,
11671         einfo.adb, einfo.ads, errout.adb, errout.ads,
11672         eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
11673         expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
11674         exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
11675         exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
11676         exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
11677         exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
11678         exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
11679         exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
11680         exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
11681         fe.h, fmap.adb, fmap.ads, fname.adb,
11682         fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
11683         freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
11684         g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
11685         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
11686         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
11687         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
11688         g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
11689         g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
11690         g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
11691         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
11692         g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
11693         g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
11694         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
11695         g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
11696         gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
11697         gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
11698         gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
11699         gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
11700         gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
11701         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
11702         g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
11703         g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
11704         g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
11705         g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
11706         g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
11707         g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
11708         g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
11709         i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
11710         i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
11711         inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
11712         itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
11713         layout.adb, lib.adb, lib.ads, lib-list.adb,
11714         lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
11715         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
11716         link.c, live.adb, make.adb, make.ads,
11717         Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
11718         mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
11719         mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
11720         misc.c, mkdir.c, mlib.adb, mlib.ads,
11721         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
11722         mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
11723         namet.adb, namet.ads, namet.h, nlists.ads,
11724         nlists.h, nmake.adt, opt.adb, opt.ads,
11725         osint.adb, osint.ads, osint-b.adb, osint-c.adb,
11726         par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
11727         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
11728         par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
11729         par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
11730         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
11731         prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
11732         prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
11733         prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
11734         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
11735         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
11736         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
11737         prj-util.adb, prj-util.ads, raise.c, raise.h,
11738         repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
11739         rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
11740         s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
11741         s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
11742         scans.ads, scn.adb, scn.ads, s-crc32.adb,
11743         s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
11744         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
11745         sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
11746         sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
11747         sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
11748         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
11749         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
11750         sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
11751         sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
11752         sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
11753         sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
11754         sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
11755         s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
11756         s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
11757         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
11758         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
11759         s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
11760         s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
11761         s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
11762         sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
11763         sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
11764         sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
11765         s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
11766         s-memory.adb, s-memory.ads, snames.adb, snames.ads,
11767         snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
11768         s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
11769         s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
11770         s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
11771         s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
11772         s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
11773         s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
11774         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
11775         s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
11776         s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
11777         s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
11778         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
11779         s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
11780         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
11781         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
11782         s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
11783         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
11784         stringt.adb, stringt.ads, stringt.h, style.ads,
11785         stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
11786         s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
11787         s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
11788         switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
11789         s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
11790         table.adb, table.ads, targparm.adb, targparm.ads,
11791         targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
11792         trans.c, tree_io.adb, treepr.adb, treeprs.adt,
11793         ttypes.ads, types.ads, types.h, uintp.adb,
11794         uintp.ads, uintp.h, uname.adb, urealp.adb,
11795         urealp.ads, urealp.h, usage.adb, utils2.c,
11796         utils.c, validsw.adb, validsw.ads, widechar.adb,
11797         xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
11798         xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
11799         einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
11800         gnatvsn.ads: Merge with ACT tree.
11801
11802         * gnatvsn.adb: Rewritten in a simpler and more efficient way.
11803
11804 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
11805
11806         * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
11807         (gnat_ug_vmx.info): Likewise.
11808         (gnat_ug_vxw.info): Likewise.
11809         (gnat_ug_wnt.info): Likewise.
11810         (gnat_rm.info): Likewise.
11811         (gnat-style.info): Likewise.
11812
11813         * Make-lang.in (ada.install-info): Remove target.
11814         (info): New target.
11815         (install-info): Likewise.
11816         (gnat_ug_unx.info): Simplify rule.
11817         (gnat_ug_vmx.info): Likewise.
11818         (gnat_ug_vxw.info): Likewise.
11819         (gnat_ug_wnt.info): Likewise.
11820         (gnat_rm.info): Likewise.
11821         (gnat-style.info): Likewise.
11822
11823 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
11824
11825         * Make-lang.in: Replace uses of $(target_alias) with
11826         $(target_noncanonical).
11827         * ada/Makefile.in: Remove unused mention of $(target_alias).
11828
11829 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
11830
11831         * Make-lang.in (ada.info): Replace with ...
11832         (info): ... this.
11833         (ada.dvi): Replace with ...
11834         (dvi): ... this.
11835
11836 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
11837
11838         * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
11839         initialize dconstp5 and dconstmp5.
11840
11841 2003-09-28  Richard Henderson  <rth@redhat.com>
11842
11843         * trans.c (tree_transform): Update call to expand_asm_operands.
11844
11845 2003-09-21  Richard Henderson  <rth@redhat.com>
11846
11847         * trans.c, utils.c: Revert.
11848
11849 2003-09-21  Richard Henderson  <rth@redhat.com>
11850
11851         * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
11852         change to const.
11853
11854 2003-09-04  Michael Matz  <matz@suse.de>
11855
11856         * misc.c: Include "target.h".
11857         * Make-lang.in (misc.o): Add dependency on target.h.
11858
11859 2003-09-03  DJ Delorie  <dj@redhat.com>
11860
11861         * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
11862         hook.
11863
11864 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
11865
11866         * Makefile.in: Update substitutions to match changes to
11867         configure.  Use include directives instead of @-insertions
11868         to read in host and target fragments.  Add a rule to
11869         regenerate ada/Makefile.
11870
11871 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
11872
11873         * lang-options.h: Remove.
11874         * lang.opt: Add help text.
11875
11876 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
11877
11878         * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
11879         calls.
11880
11881 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
11882
11883         * misc.c (gnat_handle_option): Don't handle filenames.
11884
11885 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
11886
11887         * Make-lang.in: Replace PWD with PWD_COMMAND.
11888         * Makefile.adalib: Likewise.
11889         * Makefile.in: Likewise.
11890
11891 2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
11892
11893         * misc.c (gnat_argv): Revert last change.
11894         (gnat_handle_option, gnat_init_options): Copy arguments.
11895
11896 2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
11897
11898         * misc.c (gnat_argv): Make const.
11899
11900 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
11901
11902         * misc.c (save_argc, save_argv): Keep non-static!
11903
11904 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
11905
11906         * misc.c (save_argc, save_argv): Make static.
11907         (gnat_init_options): New prototype.
11908         (gnat_init_options): Update.
11909
11910 2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
11911
11912         * gnat_ug.texi: Remove unlikely characters from @vars.
11913         * gnat_ug_vms.texi: Regenerate.
11914
11915 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
11916
11917         * misc.c (record_code_position): Adjust emit_note call.
11918
11919 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
11920
11921         * misc.c (gnat_handle_option): Don't check for missing arguments.
11922
11923 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
11924
11925         * utils.c (end_subprog_body): Adjust expand_function_end call.
11926
11927 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
11928
11929         * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
11930         Bind_Main_Program.
11931
11932 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
11933
11934         * lang.opt: Declare Ada.
11935         * misc.c (gnat_init_options): Update.
11936
11937 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
11938
11939         * utils.c (begin_subprog_body): Adjust init_function_start call.
11940
11941 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
11942
11943         * Make-lang.in: Update to use options.c and options.h.
11944         * misc.c: Include options.h not aoptions.h.
11945         (gnat_handle_option): Abort on unrecognized switch.
11946         (gnat_init_options): Request Ada switches.
11947
11948 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
11949
11950         * lang.opt: Add -Wall.
11951         * misc.c (gnat_handle_option): Handle it.
11952
11953 2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
11954
11955         * misc.c (gnat_handle_option): Fix warnings.
11956
11957 2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
11958
11959         * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
11960
11961 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
11962
11963         * Make-lang.in: Update to handle command-line options.
11964         * lang.opt: New file.
11965         * misc.c: Include aoptions.h.
11966         (cl_options_count, cl_options): Remove.
11967         (gnat_handle_option): New.
11968         (gnat_decode_option): Remove.
11969         (LANG_HOOKS_DECODE_OPTION): Remove.
11970         (LANG_HOOKS_HANDLE_OPTION): Override.
11971
11972 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
11973
11974         * init.c, misc.c, trans.c, utils.c: Remove dead code.
11975
11976 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
11977
11978         * Makefile.in: Replace "host_canonical" with "host" for autoconf
11979         substitution.
11980
11981 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
11982
11983         * Make-lang.in: Update.
11984         * misc.c: Include opts.h. Define cl_options_count and cl_options.
11985
11986 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
11987
11988         * misc.c (gnat_init_options): Update.
11989
11990 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
11991
11992         * Make-lang.in (ada/b_gnatb.o-warn): Remove.
11993         * bindgen.adb (Gen_Main_C): Mark ensure_reference with
11994         __attribute__ ((__unused__)).
11995
11996 2003-06-05  Jan Hubicka  <jh@suse.cz>
11997
11998         * Make-lang.in:  Add support for stageprofile and stagefeedback
11999
12000 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
12001
12002         * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
12003         (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
12004
12005 2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
12006
12007         * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
12008         Remove non-VMS directive.
12009         (Switches for gnatlbr, Optimization Levels): Remove non-VMS
12010         alternatives.
12011         (Examples of gnatls Usage): Remove VMS alternative.
12012
12013 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
12014
12015         PR ada/9953:
12016         * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
12017         and turn ZCX_By_Default back to False since the underlying support
12018         is not quite there yet.
12019
12020 2003-06-01  Andreas Jaeger  <aj@suse.de>
12021
12022         * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
12023         and ROUND_TYPE_SIZE_UNIT.
12024
12025 2003-05-22   Geert Bosch <bosch@gnat.com>
12026
12027         * gnat_rm.texi : Remove reference to Ada Core Technologies.
12028
12029 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
12030
12031         * trans.c (tree_transform): Use location_t and input_location
12032         directly.
12033         (build_unit_elab): Likewise.
12034         * utils.c (create_label_decl): Likewise.
12035
12036 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
12037
12038         * trans.c (tree_transform, build_unit_elab,
12039         set_lineno): Rename lineno to input_line.
12040         * utils.c (pushdecl, create_label_decl, begin_subprog_body,
12041         end_subprog_body): Likewise.
12042         * utils2.c (build_call_raise): Likewise.
12043
12044 2003-05-01  Laurent Guerby <guerby@acm.org>
12045
12046         PR ada/10546
12047         * 5iosinte.ads: Increase pthread_cond_t size to match recent
12048         LinuxThread and NPTL version, merge from ACT.
12049
12050 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
12051
12052         * utils.c (convert): No need to clear TREE_CST_RTL.
12053
12054 2003-04-23   Geert Bosch <bosch@gnat.com>
12055
12056         * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
12057         1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
12058         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
12059         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
12060         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
12061         4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
12062         4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
12063         4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
12064         4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
12065         4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
12066         4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
12067         4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
12068         52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
12069         5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
12070         5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
12071         5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
12072         5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
12073         5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
12074         5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
12075         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
12076         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
12077         5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
12078         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
12079         5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
12080         5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
12081         5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
12082         5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
12083         5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
12084         5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
12085         5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
12086         5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
12087         5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
12088         5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
12089         5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
12090         5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
12091         5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
12092         5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
12093         5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
12094         5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
12095         5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
12096         5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
12097         5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
12098         5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
12099         5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
12100         6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
12101         7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
12102         7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
12103         9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
12104         a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
12105         a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
12106         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
12107         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
12108         a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
12109         a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
12110         a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
12111         a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
12112         a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
12113         a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
12114         a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
12115         a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
12116         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
12117         a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
12118         a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
12119         a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
12120         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
12121         a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
12122         a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
12123         a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
12124         a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
12125         a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
12126         a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
12127         a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
12128         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
12129         a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
12130         a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
12131         a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
12132         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
12133         a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
12134         a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
12135         a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
12136         a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
12137         a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
12138         a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
12139         a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
12140         a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
12141         a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
12142         a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
12143         a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
12144         a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
12145         a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
12146         a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
12147         a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
12148         a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
12149         a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
12150         a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
12151         a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
12152         a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
12153         a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
12154         a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
12155         a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
12156         a-wttest.ads, ada-tree.h, ada.ads, ada.h,
12157         adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
12158         ali.adb, ali.ads, alloc.ads, argv.c,
12159         atree.adb, atree.ads, atree.h, aux-io.c,
12160         back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
12161         binde.adb, binde.ads, binderr.adb, binderr.ads,
12162         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
12163         butil.adb, butil.ads, cal.c, calendar.ads,
12164         casing.adb, casing.ads, ceinfo.adb, checks.adb,
12165         checks.ads, cio.c, comperr.adb, comperr.ads,
12166         config-lang.in, csets.adb, csets.ads, csinfo.adb,
12167         cstand.adb, cstand.ads, cuintp.c, debug.adb,
12168         debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
12169         dec-io.ads, dec.ads, deftarg.c, directio.ads,
12170         einfo.adb, einfo.ads, elists.adb, elists.ads,
12171         elists.h, errno.c, errout.adb, errout.ads,
12172         eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
12173         exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
12174         exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
12175         exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
12176         exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
12177         exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
12178         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
12179         exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
12180         exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
12181         exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
12182         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
12183         exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
12184         exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
12185         exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
12186         exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
12187         fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
12188         fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
12189         freeze.adb, freeze.ads, frontend.adb, frontend.ads,
12190         g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
12191         g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
12192         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
12193         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
12194         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
12195         g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
12196         g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
12197         g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
12198         g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
12199         g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
12200         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
12201         g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
12202         g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
12203         g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
12204         g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
12205         g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
12206         g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
12207         g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
12208         g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
12209         g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
12210         g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
12211         g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
12212         get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
12213         gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
12214         gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
12215         gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
12216         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
12217         gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
12218         gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
12219         gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
12220         hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
12221         i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
12222         i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
12223         i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
12224         i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
12225         i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
12226         i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
12227         inline.adb, inline.ads, interfac.ads, ioexcept.ads,
12228         itypes.adb, itypes.ads, krunch.adb, krunch.ads,
12229         layout.adb, layout.ads, lib-list.adb, lib-load.adb,
12230         lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
12231         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
12232         lib.adb, lib.ads, live.adb, live.ads,
12233         machcode.ads, make.adb, make.ads, makeusg.adb,
12234         makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
12235         mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
12236         memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
12237         mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
12238         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
12239         mlib.ads, namet.adb, namet.ads, nlists.adb,
12240         nlists.ads, opt.adb, opt.ads, osint-b.adb,
12241         osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
12242         osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
12243         osint.ads, output.adb, output.ads, par-ch10.adb,
12244         par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
12245         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
12246         par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
12247         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
12248         par-tchk.adb, par-util.adb, par.adb, par.ads,
12249         prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
12250         prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
12251         prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
12252         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
12253         prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
12254         prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
12255         prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
12256         prj.adb, prj.ads, repinfo.adb, repinfo.ads,
12257         restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
12258         rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
12259         s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
12260         s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
12261         s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
12262         s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
12263         s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
12264         s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
12265         s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
12266         s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
12267         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
12268         s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
12269         s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
12270         s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
12271         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
12272         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
12273         s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
12274         s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
12275         s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
12276         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
12277         s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
12278         s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
12279         s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
12280         s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
12281         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
12282         s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
12283         s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
12284         s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
12285         s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
12286         s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
12287         s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
12288         s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
12289         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
12290         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
12291         s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
12292         s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
12293         s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
12294         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
12295         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
12296         s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
12297         s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
12298         s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
12299         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
12300         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
12301         s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
12302         s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
12303         s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
12304         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
12305         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
12306         s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
12307         s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
12308         s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
12309         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
12310         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
12311         s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
12312         s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
12313         s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
12314         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
12315         s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
12316         s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
12317         s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
12318         s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
12319         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
12320         s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
12321         s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
12322         s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
12323         s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
12324         s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
12325         s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
12326         s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
12327         s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
12328         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
12329         s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
12330         s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
12331         s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
12332         s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
12333         s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
12334         s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
12335         s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
12336         s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
12337         s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
12338         s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
12339         s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
12340         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
12341         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
12342         s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
12343         s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
12344         s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
12345         s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
12346         s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
12347         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
12348         s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
12349         s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
12350         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
12351         s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
12352         scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
12353         sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
12354         sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
12355         sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
12356         sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
12357         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
12358         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
12359         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
12360         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
12361         sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
12362         sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
12363         sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
12364         sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
12365         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
12366         sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
12367         sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
12368         sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
12369         sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
12370         sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
12371         sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
12372         sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
12373         snames.ads, sprint.adb, sprint.ads, stand.adb,
12374         stand.ads, stringt.adb, stringt.ads, style.adb,
12375         style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
12376         switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
12377         switch-m.ads, switch.adb, switch.ads, system.ads,
12378         table.adb, table.ads, targparm.adb, targparm.ads,
12379         tbuild.adb, tbuild.ads, text_io.ads, trans.c,
12380         tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
12381         tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
12382         ttypef.ads, ttypes.ads, types.adb, types.ads,
12383         uintp.adb, uintp.ads, uname.adb, uname.ads,
12384         unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
12385         usage.adb, usage.ads, validsw.adb, validsw.ads,
12386         widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
12387         xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
12388         xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
12389         formatting and other trivial changes from ACT.
12390
12391 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
12392
12393         * gigi.h, utils2.c (build_constructor):
12394         Rename gnat_build_constructor. Use build_constructor.
12395         * decl.c (gnat_to_gnu_entity)
12396         * trans.c (tree_transform, pos_to_constructor, extract_values)
12397         * ada/utils.c (build_template, convert_to_fat_pointer, convert)
12398         (unchecked_convert)
12399         * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
12400         (fill_vms_descriptor):
12401         Update to match.
12402
12403 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
12404
12405         * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
12406         * misc.c (gnat_tree_size): New function.
12407         (LANG_HOOKS_TREE_SIZE): Override.
12408
12409 2003-04-03  Jason Merrill  <jason@redhat.com>
12410
12411         * misc.c (gnat_adjust_rli): #if 0.
12412
12413 2003-03-31   Geert Bosch <bosch@gnat.com>
12414
12415         PR ada/10020
12416         * link.c : Fix misspelled "const" keyword
12417
12418 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
12419
12420         PR c++/7086
12421         * utils2.c: Adjust calls to put_var_into_stack.
12422
12423 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
12424
12425         * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
12426
12427 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
12428
12429         * misc.c (gnat_init): Update for new prototype.
12430
12431 2003-03-05  Olivier Hainque  <hainque@gnat.com>
12432
12433         ada/9961
12434         * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
12435         warning, and fix return type for the IN_RTS && !SJLJ case.
12436
12437 2003-03-04  Tom Tromey  <tromey@redhat.com>
12438
12439         * Make-lang.in (ada.tags): New target.
12440
12441 2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
12442
12443         ada/9911
12444         * a-except.adb (Unwind_RaiseException): Import a GNAT specific
12445         wrapper, which name remains constant whatever underlying GCC
12446         scheme.
12447
12448         * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
12449         the stable interface needed for a-except.
12450
12451 2003-03-02  Andreas Jaeger  <aj@suse.de>
12452
12453         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
12454         gnat_ug_wnt.texi: Regenerate.
12455
12456 2003-03-02  Laurent Guerby <guerby@acm.org>
12457
12458         * Makefile.in (install-gnatlib): Match previous change there
12459         so it works.
12460
12461 2003-02-28  Andreas Schwab  <schwab@suse.de>
12462
12463         * Make-lang.in (install-gnatlib): Change to ada directory before
12464         running make instead of using ada/Makefile directly.
12465
12466 2003-02-18  Ben Elliston  <bje@redhat.com>
12467
12468         Part of fix for PR ada/9406
12469         * gnat_ug.texi (Binder output file): Grammar fix.
12470
12471 2003-02-18  Ben Elliston  <bje@redhat.com>
12472
12473         PR other/7350
12474         * 5qtaprop.adb (Sleep): Fix typo in comment.
12475
12476 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
12477
12478         * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
12479         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
12480         gnat_ug_wnt.texi: Regenerate.
12481
12482 2003-02-03  Christian Cornelssen <ccorn@cs.tu-berlin.de>
12483
12484         * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
12485         be created if necessary.
12486         (ada.install-common): Let $(DESTDIR)$(bindir) be created
12487         if necessary.  Remove erroneous and redundant gnatchop
12488         installation commands.  Test for gnatdll before attempting
12489         to install it.
12490         (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
12491         and gnatdll from all plausible locations.
12492
12493 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
12494
12495         * utils2.c (build_unary_op): Don't check flag_volatile.
12496         * gnat_ug.texi: Remove -fvolatile from example.
12497         * gnat_ug_vxw.texi: Likewise.
12498
12499 2003-01-29  Laurent Guerby <guerby@acm.org>
12500
12501         PR ada/8344
12502         * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
12503         * Makefile.in: match previous change.
12504         * Make-lang.in: match previous change.
12505
12506 2003-01-29      Joel Sherrill <joel@OARcorp.com>
12507
12508         * 5rosinte.ads: Add SIGXCPU.
12509         * 5rtpopsp.adb: New file.
12510         * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
12511         * Makefile.in: Recognize more RTEMS targets and add the RTEMS
12512         specific file 5rtpopsp.adb.
12513         * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
12514         is likely needed for all newlib targets.
12515         * init.c: Add RTEMS specific version of __gnat_initialize().
12516
12517 2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12518
12519         * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
12520
12521 2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12522
12523         * init.c (__gnat_error_handler): Make msg const.
12524
12525         * gmem.c (convert_addresses): Move declaration ...
12526         * adaint.h: ... here.
12527         * adaint.c (convert_addresses): Adapt addrs type to match
12528         prototype.
12529
12530         * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
12531
12532 2003-01-24  Andreas Schwab  <schwab@suse.de>
12533
12534         * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
12535         size_t to avoid warning.
12536
12537 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
12538
12539         * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
12540
12541 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
12542
12543         * gnat_rm.texi: Remove RCS version number.
12544
12545         * ada-tree.h (union lang_tree_node): Add chain_next option.
12546
12547 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
12548
12549         * Make-lang.in (ada.install-info, ada.install-common,
12550         ada.uninstall): Prepend $(DESTDIR) to the destination
12551         directory in all (un)installation commands.
12552         * Makefile.in (install-gnatlib, install-rts): Ditto.
12553
12554 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
12555
12556         * gnat_rm.texi, gnat_ug.texi: Use @copying.
12557         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
12558         gnat_ug_wnt.texi: Regenerate.
12559
12560 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
12561
12562         * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
12563         only.
12564         * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
12565         $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
12566         $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
12567         ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
12568         ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
12569         $(srcdir)/doc/include/gcc-common.texi.
12570
12571 2002-12-15   Geert Bosch <bosch@gnat.com>
12572
12573         * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
12574
12575 2002-12-14   Geert Bosch <bosch@gnat.com>
12576
12577         * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
12578         case of a body created for a Renaming_As_Body, on which
12579         conformance checks are not performed. Fixes PR ada/5690.
12580
12581 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
12582
12583         * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
12584         utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
12585         not already included.
12586         * Make-lang.in: Update dependencies.
12587
12588 2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
12589         * adaint.c (__gnat_tmp_name): Better, but good enough for now,
12590         solution to buffer overflow bug on GNU/Linux.
12591
12592 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
12593         Closes PR ada/5856 and PR ada/6919 !
12594         * bindgen.adb: Remove all references to Public_Version.
12595         * comperr.adb: Remove all references to Public_Version and
12596         GNATPRO_Version; correct bug reporting instructions.
12597         * comperr.ads: Change to match bug box.
12598         * gnatvsn.ads: Remove all references to Public version and
12599         GNATPRO version.
12600
12601 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
12602         PR ada/6919
12603         * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
12604         GNU/Linux.
12605
12606         PR ada/6558
12607         * config-lang.in: Remove diff_excludes.
12608
12609 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
12610         PR ada/8358
12611         * trans.c (gnu_pending_elaboration_lists): New GC root.
12612         (build_unit_elab): Use..
12613
12614 2002-10-30   Geert Bosch <bosch@gnat.com>
12615         PR ada/6558
12616         * misc.c : Include optabs.h
12617
12618         * Make-lang.in (misc.o): Add dependency on optabs.h
12619
12620 2002-10-29   Geert Bosch <bosch@gnat.com>
12621         PR ada/6558
12622         * Make-lang.in (gnatbind): Depend on CONFIG_H
12623
12624 2002-10-29  Geert bosch  <bosch@gnat.com>
12625         PR ada/6558
12626         * misc.c: Unrevert misc.c (1.13)
12627
12628 2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
12629
12630         * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
12631         maintainership comments.
12632
12633 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
12634         PR ada/5904
12635         * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
12636         5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
12637         5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
12638         7staprop.adb: Correct statements in comments about
12639         maintainership of GNAT.
12640
12641         PR ada/5904
12642         * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
12643         gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
12644         osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
12645         osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
12646         s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
12647         s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
12648         sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
12649         switch-c.ads switch-m.adb switch-m.ads: Correct statements in
12650         comments about maintainership of GNAT.
12651
12652         PR ada/6919 (forward port of patch for PR ada/5904)
12653         * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
12654         4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
12655         4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
12656         4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
12657         4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
12658         4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
12659         4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
12660         52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
12661         5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
12662         5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
12663         5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
12664         5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
12665         5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
12666         5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
12667         5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
12668         5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
12669         5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
12670         5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
12671         5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
12672         5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
12673         5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
12674         5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
12675         5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
12676         5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
12677         5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
12678         5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
12679         5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
12680         5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
12681         7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
12682         a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
12683         a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
12684         a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
12685         a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
12686         a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
12687         a-except.adb a-except.ads a-excpol.adb a-exctra.adb
12688         a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
12689         a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
12690         a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
12691         a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
12692         a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
12693         a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
12694         a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
12695         a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
12696         a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
12697         a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
12698         a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
12699         a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
12700         a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
12701         a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
12702         a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
12703         a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
12704         a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
12705         a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
12706         a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
12707         a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
12708         a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
12709         a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
12710         a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
12711         a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
12712         a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
12713         a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
12714         a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
12715         a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
12716         a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
12717         a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
12718         a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
12719         a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
12720         a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
12721         adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
12722         alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
12723         back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
12724         binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
12725         bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
12726         ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
12727         csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
12728         cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
12729         debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
12730         einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
12731         errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
12732         exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
12733         exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
12734         exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
12735         exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
12736         exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
12737         exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
12738         exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
12739         exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
12740         exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
12741         exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
12742         exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
12743         exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
12744         exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
12745         final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
12746         fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
12747         freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
12748         g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
12749         g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
12750         gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
12751         gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
12752         gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
12753         gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
12754         gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
12755         gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
12756         i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
12757         i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
12758         i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
12759         i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
12760         impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
12761         itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
12762         lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
12763         lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
12764         lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
12765         lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
12766         makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
12767         namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
12768         nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
12769         osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
12770         par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
12771         par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
12772         par-endh.adb par-labl.adb par-load.adb par-prag.adb
12773         par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
12774         prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
12775         prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
12776         prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
12777         prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
12778         prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
12779         prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
12780         repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
12781         rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
12782         s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
12783         s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
12784         s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
12785         s-direio.adb s-direio.ads s-except.ads s-exctab.adb
12786         s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
12787         s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
12788         s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
12789         s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
12790         s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
12791         s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
12792         s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
12793         s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
12794         s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
12795         s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
12796         s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
12797         s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
12798         s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
12799         s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
12800         s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
12801         s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
12802         s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
12803         s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
12804         s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
12805         s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
12806         s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
12807         s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
12808         s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
12809         s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
12810         s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
12811         s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
12812         s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
12813         s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
12814         s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
12815         s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
12816         s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
12817         s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
12818         s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
12819         s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
12820         s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
12821         s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
12822         s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
12823         s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
12824         s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
12825         s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
12826         s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
12827         s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
12828         s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
12829         s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
12830         s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
12831         s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
12832         s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
12833         s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
12834         s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
12835         s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
12836         s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
12837         s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
12838         s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
12839         s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
12840         s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
12841         s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
12842         s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
12843         s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
12844         s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
12845         s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
12846         s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
12847         s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
12848         s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
12849         s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
12850         s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
12851         s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
12852         s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
12853         s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
12854         s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
12855         s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
12856         s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
12857         s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
12858         s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
12859         s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
12860         s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
12861         s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
12862         s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
12863         s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
12864         scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
12865         sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
12866         sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
12867         sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
12868         sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
12869         sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
12870         sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
12871         sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
12872         sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
12873         sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
12874         sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
12875         sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
12876         sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
12877         sem_type.adb sem_type.ads sem_util.adb sem_util.ads
12878         sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
12879         sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
12880         sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
12881         sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
12882         snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
12883         stringt.ads stringt.h style.adb style.ads stylesw.adb
12884         stylesw.ads switch.adb switch.ads sysdep.c system.ads
12885         table.adb table.ads targparm.adb targparm.ads targtyps.c
12886         tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
12887         tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
12888         treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
12889         types.adb types.ads types.h uintp.adb uintp.ads uintp.h
12890         uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
12891         usage.ads utils.c utils2.c validsw.adb validsw.ads
12892         widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
12893         xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
12894         xtreeprs.adb: Correct statements in comments about maintainership
12895         of GNAT.
12896
12897 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
12898
12899         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
12900         * Makefile.in (TOOLS_LIBS): Add ../../version.o.
12901         * gnatvsn.ads: Gnat_Version_String is now a function.
12902         * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
12903         copy the C version_string into a String and return it.
12904         * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
12905         gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
12906         Remove pragma Ident (Gnat_Version_String).  If this was the
12907         sole use of package Gnatvsn, remove the with statement too.
12908         * gnat1drv.adb: Tweak -gnatv output.
12909
12910 2002-09-17  Richard Henderson  <rth@redhat.com>
12911
12912         * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
12913         * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
12914         * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
12915         (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
12916         * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
12917         and real_2expN instead of a loop.
12918         * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
12919         (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
12920
12921 2002-08-25  Andre Leis <a.leis@gmx.net>
12922             David Billinghurst (David.Billinghurst@riotinto.com>
12923
12924         * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
12925
12926 2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12927
12928         * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
12929         Remove $(CONFIG_H) dependency.
12930
12931 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
12932
12933         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
12934
12935 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12936
12937         * adadecode.c (ada_demangle): Use xstrdup in lieu of
12938         xmalloc/strcpy.
12939         * misc.c (gnat_decode_option): Likewise.
12940
12941 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
12942
12943         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
12944         function approach did not work well because of a side effect (the
12945         function call could reallocate the table which was being indexed
12946         using its result). Fixes ada/4851. [RESURRECTED]
12947
12948 2002-07-01  Roger Sayle  <roger@eyesopen.com>
12949
12950         * ada/utils.c (builtin_function): Accept an additional parameter.
12951
12952 2002-06-28  Andreas Jaeger  <aj@suse.de>
12953
12954         PR ada/7144
12955         * Makefile.in: Fix typo in comment, patch by Adrian Knoth
12956         <adi@thur.de>.
12957
12958 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12959
12960         * Makefile.in (SHELL): Set to @SHELL@.
12961
12962 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12963
12964         * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
12965         array size calculation.
12966
12967 2002-06-04  Andreas Jaeger  <aj@suse.de>
12968
12969         * Make-lang.in (gnatbind): Readd rule that has been lost in last
12970         patch.
12971
12972 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
12973
12974         Merge from pch-branch:
12975
12976         * config-lang.in (gtfiles): Add ada-tree.h.
12977         * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
12978         (SET_TYPE_MODULUS): New.
12979         (SET_TYPE_INDEX): New.
12980         (SET_TYPE_DIGITS_VALUE): New.
12981         (SET_TYPE_RM_SIZE): New.
12982         (SET_TYPE_UNCONSTRAINED_ARRAY): New.
12983         (SET_TYPE_ADA_SIZE): New.
12984         (SET_TYPE_ACTUAL_BOUNDS): New.
12985         (SET_DECL_CONST_CORRESPONDING_VAR): New.
12986         (SET_DECL_ORIGINAL_FIELD): New.
12987         (TREE_LOOP_ID): Correct typo.
12988         * decl.c: Use new macros.
12989         * utils.c: Include debug.h, use new macros.
12990         * utils2.c: Use new macros.
12991
12992         * ada-tree.h: Update all macros for new tree description.
12993         (struct tree_loop_id): New.
12994         (union lang_tree_node): New.
12995         (struct lang_decl): New.
12996         (struct lang_type): New.
12997         * misc.c (gnat_mark_tree): Delete.
12998         (LANG_HOOKS_MARK_TREE): Delete.
12999         * trans.c (tree_transform): No longer any need to cast
13000         for TREE_LOOP_ID.
13001
13002         * utils.c (struct language_function): New dummy structure.
13003
13004         * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
13005         (misc.o): Likewise.
13006         (utils.o): Likewise; also gtype-ada.h.
13007         * Make-lang.in (gnat1): Add dependency on s-gtype.
13008         (gnatbind): Add dependency on $(CONFIG_H).
13009         * utils.c: Correct last #include.
13010         (stuct e_stack): Remove unnecessary 'static'.
13011         (mark_e_stack): Remove unused prototype.
13012
13013         * scn-nlit.adb: Remove whitespace after version number to
13014         keep lines under 80 chars.
13015         * snames.adb: Likewise.
13016         * treepr.ads: Likewise.
13017
13018         * Makefile.in (decl.o): Include gt-ada-<filename>.h.
13019         (misc.o): Likewise.
13020         (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
13021         * config-lang.in (gtfiles): New.
13022         * decl.c: Use gengtype for roots.
13023         * gigi.h: Use gengtype for roots.
13024         * trans.c: Use gengtype for roots.
13025         * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
13026
13027 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
13028
13029         * misc.c (gnat_init): Adjust setting of internal_error_function.
13030
13031 2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
13032
13033         * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
13034         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13035         gnat_ug_wnt.texi: Regenerate.
13036
13037 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
13038
13039         * 5ntaprop.adb (with System.OS_Primitives): Remove.
13040
13041         * cstreams.c (max_path_len): Move from here ...
13042         * adaint.c (__gnat_max_path_len): ... to here.
13043         * adaint.c (__gnat_max_path_len): Declare.
13044         * g-dirope.adb (Max_Path): Adjust.
13045         * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
13046         * i-cstrea.ads (max_path_len): Adjust.
13047         * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
13048         * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
13049
13050         * Makefile.in, Make-lang.in: Documentation is now built in
13051         Make-lang.in.  Store Info and generated Texinfo files in the
13052         source directory.
13053         * gnat_ug.texi: Remove CVS keywords, correct version number.
13054         Set file name correctly.
13055
13056         * gnat_ug_*.texi: Add.
13057         * .cvsignore: Ignore generated Texinfo files.
13058
13059 2002-05-30  Zack Weinberg  <zack@codesourcery.com>
13060
13061         * ada.h: Add MI guard macro.
13062         (SUBTYPE): Define constants with an anonymous enum, not static
13063         const variables.
13064         (IN): Cast constants to appropriate type before use.
13065
13066 2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
13067
13068         * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
13069         (experimental)".
13070
13071 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13072
13073         * Make-lang.in (CP, ECHO): Copy from Makefile.in.
13074         (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
13075         (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
13076         (ALL_ADA_CFLAGS): Likewise.
13077         (ADA_INCLUDES): Likewise.
13078         Adapt for new working dir.
13079         (GNATBIND): Use Makefile.in version.
13080         (.SUFFIXES): Copy from Makefile.in.
13081         (ada-warn): Define.
13082         (.adb.o, .ads.o): Copy from Makefile.in.
13083         Added $(OUTPUT_OPTION).
13084         (GNAT1_C_OBJS): Moved from Makefile.in.
13085         Prefix with ada subdir.
13086         (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
13087         (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
13088         Adapt for new working dir.
13089         (EXTRA_GNATBIND_OBJS): Likewise.
13090         (ADA_BACKEND): Moved from Makefile.in.
13091         Renamed to avoid conflict with global BACKEND.
13092         Use that one.
13093         (TARGET_ADA_SRCS): Moved from Makefile.in.
13094         (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
13095         Use ADA_BACKEND.
13096         (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
13097         (ada_extra_files): Moved from Makefile.in.
13098         Prefix with ada subdir.
13099         (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
13100         (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
13101         (ada/nmake.ads): Likewise.
13102         (update-sources): Moved from Makefile.in.
13103         Prefix with ada subdir.
13104         (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
13105         (ADA_TREE_H): Likewise.
13106         (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
13107         (ada/memtrack.o): Likewise.
13108         (ada/adadecode.o): Likewise.
13109         Update dependencies.
13110         (ada/adaint.o): New.
13111         (ada/argv.o): Moved from Makefile.in.
13112         Prefix with ada subdir.
13113         Update dependencies.
13114         (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
13115         (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
13116         (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
13117         Prefix with ada subdir.
13118         (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
13119         (GNAT DEPENDENCIES): Regenerate.
13120         * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
13121         toplevel Makefile.in.
13122         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
13123         (TARGET_ADA_SRCS): Removed.
13124         (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
13125         (GNATBIND_OBJS): Likewise.
13126         (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
13127         (BACKEND): Removed.
13128         (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
13129         (TREE_H): Likewise.
13130         (ada_extra_files): Likewise.
13131         (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
13132         (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
13133         (update-sources): Likewise.
13134         (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
13135         (ADA_TREE_H): Likewise.
13136         (adadecoce.o): Likewise.
13137         (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
13138         (GNAT DEPENDENCIES): Likewise.
13139
13140 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13141
13142         * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
13143         * Makefile.in: Likewise.
13144
13145 2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13146
13147         * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
13148         Restore $(CONFIG_H) and prefix.o dependencies.
13149         (ada.stage[1-4]): Depend on stage?-start.
13150
13151         * Makefile.in (b_gnatb.c): Depend on interfac.o.
13152
13153 2002-05-02  Jim Wilson  <wilson@redhat.com>
13154
13155         * utils.c (finish_record_type): Change record_size to record_type.
13156
13157 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13158
13159         * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
13160         (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
13161         ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
13162
13163 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
13164
13165         * misc.c (gnat_parse_file): Update.
13166
13167 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
13168
13169         * misc.c (gnat_init): Don't set lang_attribute_common.
13170
13171 2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
13172
13173         * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
13174
13175 2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
13176
13177         * gnat_ug.texi: New file.
13178
13179         * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
13180         instead of gfdl.texi
13181
13182         * xgnatug.adb, ug_words: New files.
13183
13184         * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
13185         gnat_rm and gnat-style manuals.
13186
13187 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
13188
13189         * gigi.h (incomplete_type_error): Remove.
13190         * utils.c (incomplete_type_error): Remove.
13191
13192 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
13193
13194         * trans.c (tree_transform): Add has_scope argument to
13195         expand_start_stmt_expr.
13196
13197 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
13198
13199         * gigi.h (truthvalue_conversion): Rename.
13200         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
13201         * trans.c (tree_transform): Update.
13202         * utils2.c (truthvalue_conversion): Rename, update.
13203         (build_binary_op, build_unary_op): Update.
13204
13205 2002-04-04  Laurent Guerby  <guerby@acm.org>
13206
13207         * make.adb: Implement -margs, remove restriction about file name placement.
13208         * makeusg.adb: Documentation update.
13209         * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
13210         * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
13211
13212 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
13213
13214         * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
13215         (builtin_function): Similarly.
13216
13217 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
13218
13219         * decl.c (gnat_to_gnu_entity): Update.
13220         * gigi.h (mark_addressable): Rename.
13221         * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
13222         * trans.c (tree_transform): Update.
13223         * utils.c (create_var_decl): Update.
13224         * util2.c (build_binary_op, build_unary_op,
13225         fill_vms_descriptor): Update.
13226         (mark_addressable): Rename, update.
13227
13228 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
13229
13230         * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
13231         Rename.
13232         * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
13233         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
13234         * trans.c (tree_transform, convert_with_check): Update.
13235         * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
13236         Rename.
13237
13238 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
13239
13240         * gigi.h (finish_incomplete_decl): Rename.
13241         * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
13242         * utils.c (gnat_init_decl_processing): Don't set hook.
13243         (finish_incomplete_decl): Rename.
13244
13245 2002-03-29  Andreas Schwab  <schwab@suse.de>
13246
13247         * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
13248         directory.
13249
13250 2001-03-28  Robert Dewar <dewar@gnat.com>
13251
13252         * checks.ads:
13253         (Remove_Checks): New procedure
13254
13255         * checks.adb:
13256         (Remove_Checks): New procedure
13257
13258         * exp_util.adb:
13259         Use new Duplicate_Subexpr functions
13260         (Duplicate_Subexpr_No_Checks): New procedure
13261         (Duplicate_Subexpr_No_Checks_Orig): New procedure
13262         (Duplicate_Subexpr): Restore original form (checks duplicated)
13263         (Duplicate_Subexpr): Call Remove_Checks
13264
13265         * exp_util.ads:
13266         (Duplicate_Subexpr_No_Checks): New procedure
13267         (Duplicate_Subexpr_No_Checks_Orig): New procedure
13268         Add 2002 to copyright notice
13269
13270         * sem_util.adb: Use new Duplicate_Subexpr functions
13271
13272         * sem_eval.adb:
13273         (Eval_Indexed_Component): This is the place to call
13274         Constant_Array_Ref and to replace the value. We simply merge
13275         the code of this function in here, since it is now no longer
13276         used elsewhere. This fixes the problem of the back end not
13277         realizing we were clever enough to see that this was
13278         constant.
13279         (Expr_Val): Remove call to Constant_Array_Ref
13280         (Expr_Rep_Val): Remove call to Constant_Array_Ref
13281         Minor reformatting
13282         (Constant_Array_Ref): Deal with string literals (patch
13283         suggested by Zack Weinberg on the gcc list)
13284
13285 2001-03-28  Ed Schonberg <schonber@gnat.com>
13286
13287         * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
13288         Duplicate_Subexpr_Move_Checks.
13289
13290         * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
13291         Duplicate_Subexpr_Move_Checks.
13292
13293         * sem_eval.adb: (Constant_Array_Ref): Verify that constant
13294         value of array exists before retrieving it (it may a private
13295         protected component in a function).
13296
13297 2002-03-28   Geert Bosch <bosch@gnat.com>
13298
13299         * prj-pp.adb : New file.
13300
13301         * prj-pp.ads : New file.
13302
13303 2002-03-28  Andreas Jaeger  <aj@suse.de>
13304
13305         * Makefile.in (stamp-sdefault): Fix path for Makefile.
13306
13307 2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
13308
13309         * misc.c (gnat_expand_expr): Move prototype.
13310
13311 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
13312
13313         * misc.c (insert_default_attributes): Remove.
13314
13315 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
13316
13317         * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
13318         (gnat_init): Don't set hook.
13319         (gnat_expand_expr): Fix prototype.
13320
13321 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
13322
13323         * misc.c (ggc_p): Remove.
13324
13325 2002-03-27  Geert Bosch  <bosch@gnat.com>
13326
13327         * prj-makr.ads, prj-makr.adb : New files.
13328
13329 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
13330
13331         * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
13332         (lang_mark_tree): Make static, rename.
13333
13334 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
13335
13336         * misc.c (maybe_build_cleanup): Remove.
13337
13338 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
13339
13340         * gigi.h (yyparse): Remove.
13341
13342 2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
13343
13344         * gnat_rm.texi: Sync with ACT version.
13345           (From Ben Brosgol <brosgol@gnat.com>)
13346
13347 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
13348
13349         * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
13350         (gnat_init): Remove old hook.
13351
13352 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
13353
13354         * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
13355         (yyparse): Rename gnat_parse_file.
13356
13357 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
13358
13359         Delete all lines containing "$Revision:".
13360         * xeinfo.adb: Don't look for revision numbers.
13361         * xnmake.adb: Likewise.
13362         * xsinfo.adb: Likewise.
13363         * xsnames.adb: Likewise.
13364         * xtreeprs.adb: Likewise.
13365
13366 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13367
13368         * misc.c (gnat_tree_code_type, gnat_tree_code_length,
13369         gnat_tree_code_name): Delete.
13370         (tree_code_type, tree_code_length, tree_code_name): Define.
13371         (gnat_init): Don't try to copy into the various tree_code
13372         arrays.
13373
13374 2002-03-11  Richard Henderson  <rth@redhat.com>
13375
13376         * Makefile.in (.NOTPARALLEL): Add fake tag.
13377
13378 2002-03-07  Geert Bosch  <bosch@gnat.com>
13379
13380         * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
13381         s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
13382         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
13383         switch-m.adb, switch-m.ads : New files.
13384
13385 2002-03-07  Geert Bosch  <bosch@gnat.com>
13386
13387         * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
13388         4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
13389         4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
13390         4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
13391         5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
13392         5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
13393         5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
13394         5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
13395         5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
13396         5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
13397         5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
13398         5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
13399         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
13400         5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
13401         5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
13402         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
13403         5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
13404         5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
13405         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
13406         5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
13407         7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
13408         Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
13409         a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
13410         a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
13411         a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
13412         a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
13413         a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
13414         a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
13415         a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
13416         adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
13417         atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
13418         bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
13419         csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
13420         einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
13421         eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
13422         exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
13423         exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
13424         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
13425         exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
13426         exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
13427         expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
13428         freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
13429         g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
13430         g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
13431         g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
13432         g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
13433         g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
13434         g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
13435         gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
13436         gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
13437         gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
13438         i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
13439         impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
13440         lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
13441         lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
13442         memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
13443         mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
13444         nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
13445         output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
13446         par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
13447         prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
13448         prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
13449         prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
13450         rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
13451         s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
13452         s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
13453         s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
13454         s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
13455         s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
13456         s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
13457         s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
13458         s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
13459         s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
13460         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
13461         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
13462         s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
13463         s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
13464         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
13465         s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
13466         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
13467         sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
13468         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
13469         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
13470         sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
13471         sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
13472         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
13473         sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
13474         sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
13475         sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
13476         snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
13477         stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
13478         table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
13479         tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
13480         treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
13481         types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
13482         utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
13483         xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
13484
13485         * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
13486         g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
13487         mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
13488         osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
13489
13490         * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
13491         5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
13492
13493         * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
13494         to mdll-fil.ad[bs] and mdll-util.ad[bs]
13495
13496         * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
13497         from mdllfile.ad[bs] and mdlltool.ad[bs]
13498
13499 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13500
13501         * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
13502         lieu of explicit sizeof/sizeof.
13503
13504 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
13505
13506         * misc.c (copy_lang_decl): Remove.
13507
13508 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
13509
13510         * misc.c: Delete traditional-mode-related code copied from the
13511         C front end but not used, or used only to permit the compiler
13512         to link.
13513
13514 2002-02-07  Richard Henderson  <rth@redhat.com>
13515
13516         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
13517         * adaint.h (__gnat_to_gm_time): Update prototype.
13518
13519 2002-01-30  Richard Henderson  <rth@redhat.com>
13520
13521         * trans.c (tree_transform) [N_Loop_Statement]: Use
13522         expand_exit_loop_top_cond.
13523
13524 2001-12-23  Richard Henderson  <rth@redhat.com>
13525
13526         * utils.c (end_subprog_body): Push GC context around
13527         rest_of_compilation for nested functions.
13528
13529 2001-12-23  Richard Henderson  <rth@redhat.com>
13530
13531         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
13532
13533 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
13534
13535         * gnat-style.texi (Declarations and Types): Remove ancient style
13536         rule which was mandated by code generation issues.
13537
13538         * gnat-style.texi (header): Add @dircategory, @direntry.
13539         (title page): Remove date.
13540         (general) Add @./@: where approriate, and two spaces after the
13541         full stop at the end of a sentence.  Use @samp markup when
13542         referring concrete lexical entities (keywords, attribute names
13543         etc.), and @syntax for ARM grammar elements. Use @r for English
13544         text in comments.  Use @emph for emphasis.  Change "if-statements"
13545         etc. to "if statements" (without @samp). Break long lines.  Make
13546         casing of section names consistent.
13547         (Identifiers): Use @samp markup for variable names.
13548         (Comments): Use @samp markup for comment characters. Line-end
13549         comments may follow any Ada code, not just statements.  Fix
13550         misspelling of "Integer" as "integer".
13551         (Loop statements): Do not use variable name "I", use "J".
13552         (Subprogram Declarations): Document alignment.
13553         (Subprogram Bodies, Block statements): Document empty line before
13554         "begin".
13555
13556 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
13557
13558         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
13559         function approach did not work well because of a side effect (the
13560         function call could reallocate the table which was being indexed
13561         using its result). Fixes ada/4851.
13562
13563 2001-12-19  Robert Dewar <dewar@gnat.com>
13564
13565         * bindgen.adb: Minor reformatting
13566
13567         * cstand.adb: Minor reformatting
13568
13569         * fmap.adb: Minor reformatting
13570         Change name from Add for Add_To_File_Map (Add is much too generic)
13571         Change Path_Name_Of to Mapped_Path_Name
13572         Change File_Name_Of to Mapped_File_Name
13573         Fix copyright dates in header
13574
13575         * fmap.ads:
13576         Change name from Add for Add_To_File_Map (Add is much too generic)
13577         Change Path_Name_Of to Mapped_Path_Name
13578         Change File_Name_Of to Mapped_File_Name
13579         Fix copyright dates in header
13580
13581         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
13582         Add use clause for Fmap.
13583
13584         * make.adb: Minor reformatting
13585
13586         * osint.adb: Minor reformatting.  Change of names in Fmap.
13587         Add use clause for Fmap.
13588
13589         * prj-env.adb: Minor reformatting
13590
13591         * prj-env.ads: Minor reformatting
13592
13593         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
13594         error found (there were odd exceptions to this general rule in
13595         -gnatec/-gnatem processing)
13596
13597 2001-12-19  Olivier Hainque <hainque@gnat.com>
13598
13599         * raise.c (__gnat_eh_personality): Exception handling personality
13600         routine for Ada.  Still in rough state, inspired from the C++ version
13601         and still containing a bunch of debugging artifacts.
13602         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
13603         inspired from the C++ library.
13604
13605         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
13606         exception handling integration.
13607
13608 2001-12-19  Arnaud Charlet <charlet@gnat.com>
13609
13610         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
13611         (HIE_SOURCES): Add s-secsta.ad{s,b}.
13612         (HIE_OBJS): Add s-fat*.o
13613         (RAVEN_SOURCES): Remove files that are no longer required. Add
13614         interrupt handling files.
13615         (RAVEN_MOD): Removed, no longer needed.
13616
13617 2001-12-19  Robert Dewar <dewar@gnat.com>
13618
13619         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
13620         Add 2001 to copyright date
13621
13622         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
13623         need to force universal inlining for these cases.
13624
13625 2001-12-19  Arnaud Charlet <charlet@gnat.com>
13626
13627         * s-taprob.adb: Minor clean ups so that this unit can be used in
13628         Ravenscar HI.
13629
13630         * exp_ch7.adb: Allow use of secondary stack in HI mode.
13631         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
13632
13633 2001-12-19  Vincent Celier <celier@gnat.com>
13634
13635         * prj-tree.ads (Project_Node_Record): Add comments for components
13636         Pkg_Id and Case_Insensitive.
13637
13638 2001-12-19  Pascal Obry <obry@gnat.com>
13639
13640         * g-socket.adb: Minor reformatting. Found while reading code.
13641
13642 2001-12-19  Robert Dewar <dewar@gnat.com>
13643
13644         * prj-tree.ads: Minor reformatting
13645
13646 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
13647
13648         * config-lang.in (diff_excludes): Remove.
13649
13650 2001-12-17  Ed Schonberg <schonber@gnat.com>
13651
13652         * sem_res.adb (Resolve_Selected_Component): do not generate a
13653         discriminant check if the selected component is a component of
13654         the argument of an initialization procedure.
13655
13656         * trans.c (tree_transform, case of arithmetic operators): If result
13657         type is private, the gnu_type is the base type of the full view,
13658         given that the full view itself may be a subtype.
13659
13660 2001-12-17  Robert Dewar <dewar@gnat.com>
13661
13662         * sem_res.adb: Minor reformatting
13663
13664         * trans.c (tree_transform, case N_Real_Literal): Add missing third
13665         parameter in call to Machine (unknown horrible effects from this
13666         omission).
13667
13668         * urealp.h: Add definition of Round_Even for call to Machine
13669         Add third parameter for Machine
13670
13671 2001-12-17  Ed Schonberg <schonber@gnat.com>
13672
13673         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
13674         predefined units in No_Run_Time mode.
13675
13676 2001-12-17  Richard Kenner <kenner@gnat.com>
13677
13678         * misc.c (insn-codes.h): Now include.
13679
13680 2001-12-17  Olivier Hainque <hainque@gnat.com>
13681
13682         * a-except.adb: Preparation work for future integration of the GCC 3
13683         exception handling mechanism
13684         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
13685         to factorize previous code sequences and make them externally callable,
13686         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
13687         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
13688         Use the new notification routines.
13689
13690 2001-12-17  Emmanuel Briot <briot@gnat.com>
13691
13692         * prj-tree.ads (First_Choice_Of): Document the when others case
13693
13694 2001-12-17  Arnaud Charlet <charlet@gnat.com>
13695
13696         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
13697         HI-E mode, in order to support Ravenscar profile properly.
13698
13699         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
13700         mode on 32 bits targets.
13701
13702 2001-12-17  Vincent Celier <celier@gnat.com>
13703
13704         * fmap.adb: Initial version.
13705
13706         * fmap.ads: Initial version.
13707
13708         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
13709         If search is successfully done, add to mapping.
13710
13711         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
13712
13713         * make.adb:
13714         (Gnatmake): Add new local variable Mapping_File_Name.
13715          Create mapping file when using project file(s).
13716          Delete mapping file before exiting.
13717
13718         * opt.ads (Mapping_File_Name): New variable
13719
13720         * osint.adb (Find_File): Use path name found in mapping, if any.
13721
13722         * prj-env.adb (Create_Mapping_File): New procedure
13723
13724         * prj-env.ads (Create_Mapping_File): New procedure.
13725
13726         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
13727         (Mapping_File)
13728
13729         * usage.adb: Add entry for new switch -gnatem.
13730
13731         * Makefile.in: Add dependencies for fmap.o.
13732
13733 2001-12-17  Ed Schonberg <schonber@gnat.com>
13734
13735         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
13736         is a package instantiation rewritten as a package body.
13737         (Install_Withed_Unit): Undo previous change, now redundant.
13738
13739 2001-12-17  Gary Dismukes <dismukes@gnat.com>
13740
13741         * layout.adb:
13742         (Compute_Length): Move conversion to Unsigned to callers.
13743         (Get_Max_Size): Convert Len expression to Unsigned after calls to
13744         Compute_Length and Determine_Range.
13745         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
13746         Compute_Length and Determine_Range.
13747         Above changes fix problem with length computation for supernull arrays
13748         where Max (Len, 0) wasn't getting applied due to the Unsigned
13749         conversion used by Compute_Length.
13750
13751 2001-12-17  Arnaud Charlet <charlet@gnat.com>
13752
13753         * rtsfind.ads:
13754         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
13755          System.Secondary_Stack.
13756         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
13757          in HI-E mode.
13758         Remove unused entity RE_Exception_Data.
13759
13760         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
13761
13762         * rident.ads (No_Secondary_Stack): New restriction.
13763
13764 2001-12-17  Joel Brobecker <brobecke@gnat.com>
13765
13766         * gnat_rm.texi: Fix minor typos. Found while reading the section
13767         regarding "Bit_Order Clauses" that was sent to a customer.
13768         Very interesting documentation!
13769
13770 2001-12-17  Robert Dewar <dewar@gnat.com>
13771
13772         * sem_case.adb (Choice_Image): Avoid creating improper character
13773         literal names by using the routine Set_Character_Literal_Name. This
13774         fixes bombs in certain error message cases.
13775
13776 2001-12-17  Arnaud Charlet <charlet@gnat.com>
13777
13778         * a-reatim.adb: Minor reformatting.
13779
13780 2001-12-17  Ed Schonberg <schonber@gnat.com>
13781
13782         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
13783         case where the formal is an extension of another formal in the current
13784         unit or in a parent generic unit.
13785
13786 2001-12-17  Arnaud Charlet <charlet@gnat.com>
13787
13788         * s-tposen.adb: Update comments.  Minor reformatting.
13789         Minor code clean up.
13790
13791         * s-tarest.adb: Update comments.  Minor code reorganization.
13792
13793 2001-12-17  Gary Dismukes <dismukes@gnat.com>
13794
13795         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
13796         when Java_VM.
13797
13798 2001-12-17  Robert Dewar <dewar@gnat.com>
13799
13800         * exp_attr.adb: Minor reformatting
13801
13802 2001-12-17  Ed Schonberg <schonber@gnat.com>
13803
13804         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
13805         derivations nested within a child unit: verify that the parent
13806         type is declared in an outer scope.
13807
13808 2001-12-17  Robert Dewar <dewar@gnat.com>
13809
13810         * sem_ch12.adb: Minor reformatting
13811
13812 2001-12-17  Ed Schonberg <schonber@gnat.com>
13813
13814         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
13815         warning if current unit is a predefined one, from which bodies may
13816         have been deleted.
13817
13818 2001-12-17  Robert Dewar <dewar@gnat.com>
13819
13820         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
13821         Fix header format. Add 2001 to copyright date.
13822
13823         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
13824         which caused CE during compilation if checks were enabled.
13825
13826 2001-12-17  Vincent Celier <celier@gnat.com>
13827
13828         * make.adb:
13829         (Switches_Of): New function
13830         (Test_If_Relative_Path): New procedure
13831         (Add_Switches): Use new function Switches_Of
13832         (Collect_Arguments_And_Compile): Use new function Switches_Of.
13833         When using a project file, test if there are any relative
13834         search path. Fail if there are any.
13835         (Gnatmake): Only add switches for the primary directory when not using
13836         a project file. When using a project file, change directory to the
13837         object directory of the main project file. When using a project file,
13838         test if there are any relative search path. Fail if there are any.
13839         When using a project file, fail if specified executable is relative
13840         path with directory information, and prepend executable, if not
13841         specified as an absolute path, with the exec directory.  Make sure
13842         that only one -o switch is transmitted to the linker.
13843
13844         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
13845
13846         * prj-nmsc.adb:
13847         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
13848         when using a non standard naming scheme.
13849         (Check_Ada_Naming_Scheme): Make sure that error messages
13850         do not raise exceptions.
13851         (Is_Illegal_Append): Return True if there is no dot in the suffix.
13852         (Language_Independent_Check): Check the exec directory.
13853
13854         * prj.adb (Project_Empty): Add new component Exec_Directory
13855
13856         * prj.ads:
13857         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
13858         (Project_Data): Add component Exec_Directory
13859
13860         * snames.adb: Updated to match snames.ads revision 1.215
13861
13862         * snames.ads: Added Exec_Dir
13863
13864 2001-12-17  Robert Dewar <dewar@gnat.com>
13865
13866         * make.adb: Minor reformatting
13867
13868         * prj-nmsc.adb: Minor reformatting
13869
13870         * snames.adb: Updated to match snames.ads
13871
13872         * snames.ads: Alphebetize entries for project file
13873
13874 2001-12-17  Ed Schonberg <schonber@gnat.com>
13875
13876         * trans.c (process_freeze_entity): Do nothing if the entity is a
13877         subprogram that was already elaborated.
13878
13879 2001-12-17  Richard Kenner <kenner@gnat.com>
13880
13881         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
13882         and Esize if object is referenced via pointer.
13883
13884 2001-12-17  Ed Schonberg <schonber@gnat.com>
13885
13886         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
13887         is discrete before analyzing choices.
13888
13889 2001-12-17  Joel Brobecker <brobecke@gnat.com>
13890
13891         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
13892         containing the name of the Ada Main Program. This string is mainly
13893         intended for the debugger.
13894         (Gen_Output_File_C): Do the equivalent change when generating a C file.
13895
13896 2001-12-17  Robert Dewar <dewar@gnat.com>
13897
13898         * ali.adb: Set new Dummy_Entry field in dependency entry
13899
13900         * ali.ads: Add Dummy_Entry field to source dependency table
13901
13902         * bcheck.adb (Check_Consistency): Ignore dummy D lines
13903
13904         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
13905
13906         * lib-writ.ads: Document dummy D lines for missing files.
13907
13908         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
13909
13910 2001-12-17  Robert Dewar <dewar@gnat.com>
13911
13912         * ali.adb: Type reference does not reset current file.
13913
13914         * ali.adb: Recognize and scan renaming reference
13915
13916         * ali.ads: Add spec for storing renaming references.
13917
13918         * lib-xref.ads: Add documentation for handling of renaming references
13919
13920         * lib-xref.adb: Implement output of renaming reference.
13921
13922         * checks.adb:
13923         (Determine_Range): Document local variables
13924         (Determine_Range): Make sure Hbound is initialized. It looks as though
13925          there could be a real problem here with an uninitialized reference
13926          to Hbound, but no actual example of failure has been found.
13927
13928 2001-12-17  Laurent Pautet <pautet@gnat.com>
13929
13930         * g-socket.ads:
13931         Fix comment of Shutdown_Socket and Close_Socket. These functions
13932         should not fail silently because if they are called twice, this
13933         probably means that there is a race condition in the user program.
13934         Anyway, this behaviour is consistent with the rest of this unit.
13935         When an error occurs, an exception is raised with the error message
13936         as exception message.
13937
13938 2001-12-17  Robert Dewar <dewar@gnat.com>
13939
13940         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
13941         that it happens before modification of Sloc values for -gnatD.
13942
13943         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
13944         so that it happens before modification of Sloc values for -gnatD.
13945
13946         * switch.adb: Minor reformatting
13947
13948 2001-12-15  Richard Henderson  <rth@redhat.com>
13949
13950         * sem_ch7.adb: Wrap comment.
13951
13952 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
13953
13954         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
13955         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
13956         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
13957         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
13958         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
13959         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
13960         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
13961         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
13962         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
13963         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
13964         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
13965         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
13966         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
13967         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
13968         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
13969         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
13970         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
13971         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
13972         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
13973         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
13974         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
13975         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
13976         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
13977         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
13978         spelling errors.
13979
13980 2001-12-14  Vincent Celier <celier@gnat.com>
13981
13982         * osint.adb(Create_Debug_File): When an object file is specified,
13983         put the .dg file in the same directory as the object file.
13984
13985 2001-12-14  Robert Dewar <dewar@gnat.com>
13986
13987         * osint.adb: Minor reformatting
13988
13989         * lib-xref.adb (Output_Instantiation): New procedure to generate
13990         instantiation references.
13991
13992         * lib-xref.ads: Add documentation of handling of generic references.
13993
13994         * ali.adb (Read_Instantiation_Ref): New procedure to read
13995         instantiation references
13996
13997         * ali.ads: Add spec for storing instantiation references
13998
13999         * bindusg.adb: Minor reformatting
14000
14001         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
14002
14003         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
14004
14005         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
14006
14007         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
14008
14009         * csets.ads:
14010         Fix header format
14011         Add 2001 to copyright date
14012         Add entry for Latin-5 (Cyrillic ISO-8859-5)
14013
14014 2001-12-14  Matt Gingell <gingell@gnat.com>
14015
14016         * adaint.c: mktemp is a macro on Lynx and can not be used as an
14017         expression.
14018
14019 2001-12-14  Richard Kenner <kenner@gnat.com>
14020
14021         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
14022         if operand is CONSTRUCTOR.
14023
14024 2001-12-14  Ed Schonberg <schonber@gnat.com>
14025
14026         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
14027         before emiting check on right-hand side, so that exception information
14028         is correct.
14029
14030 2001-12-14  Richard Kenner <kenner@gnat.com>
14031
14032         * utils.c (create_var_decl): Throw away initializing expression
14033         if just annotating types and non-constant.
14034
14035 2001-12-14  Vincent Celier <celier@gnat.com>
14036
14037         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
14038         Default_Ada_...
14039
14040         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
14041         Remove functions.
14042         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
14043
14044         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
14045         Remove functions.
14046         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
14047
14048 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
14049
14050         * ChangeLog: Remove piece of diff output.
14051
14052 2001-12-14  Geert Bosch <bosch@gnat.com>
14053
14054         * config-lang.in: Update copyright notice
14055
14056         * layout.adb: Remove commented out code.
14057
14058         * mdllfile.ads: Update copyright notice. Fix header format.
14059
14060         * sem_case.ads: Likewise.
14061
14062         * sem_ch3.adb: Minor reformatting.
14063
14064 2001-12-12  Geert Bosch <bosch@gnat.com>
14065
14066         * freeze.ads: Update copyright date.
14067
14068         * g-comlin.ads: Minor reformatting.
14069
14070         * gnat-style.texi: Fix typo.
14071
14072 2001-12-12  Geert Bosch <bosch@gnat.com>
14073
14074         *  einfo.h: Regenerate.
14075
14076 2001-12-12  Ed Schonberg <schonber@gnat.com>
14077
14078         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
14079         on known node types, rather than untyped fields. Further cleanups.
14080
14081 2001-12-12  Robert Dewar <dewar@gnat.com>
14082
14083         * sem_ch12.adb:
14084         (Save_Entity_Descendant): Minor comment update.
14085         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
14086          of an N_Attribute_Reference node. As per note below, this does not
14087         eliminate need for Associated_Node in attribute ref nodes.
14088         (Associated_Node): Documentation explicitly mentions attribute
14089         reference nodes, since this field is used in such nodes.
14090
14091         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
14092
14093 2001-12-12  Robert Dewar <dewar@gnat.com>
14094
14095         * s-stalib.adb: Add more comments on with statements being needed
14096
14097         * par-ch12.adb: Minor reformatting
14098
14099         * prj-dect.ads: Fix copyright header
14100
14101         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
14102         inputs fit in 32 bits, but the result still overflows.
14103
14104         * s-fatgen.ads: Minor comment improvement
14105
14106 2001-12-12  Ed Schonberg <schonber@gnat.com>
14107
14108         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
14109         formal derived type, look for an inherited component from the full
14110         view of the parent, if any.
14111
14112 2001-12-12  Robert Dewar <dewar@gnat.com>
14113
14114         * checks.ads (Apply_Alignment_Check): New procedure.
14115
14116         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
14117         ensure that the alignment of objects with address clauses is
14118         appropriate, and raise PE if not.
14119
14120         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
14121         Exp_Pakd.Known_Aligned_Enough
14122
14123         * mdllfile.ads: Minor reformatting
14124
14125         * mlib-fil.ads: Minor reformatting
14126
14127 2001-12-12  Ed Schonberg <schonber@gnat.com>
14128
14129         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
14130         fix to any component reference if enclosing record has non-standard
14131         representation.
14132
14133 2001-12-12  Vincent Celier <celier@gnat.com>
14134
14135         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
14136         Iteration
14137
14138 2001-12-12  Ed Schonberg <schonber@gnat.com>
14139
14140         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
14141         sem_attr.
14142
14143 2001-12-12  Robert Dewar <dewar@gnat.com>
14144
14145         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
14146
14147 2001-12-12  Emmanuel Briot <briot@gnat.com>
14148
14149         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
14150         and it adds dependencies to system.io.
14151
14152 2001-12-12  Pascal Obry <obry@gnat.com>
14153
14154         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
14155         variable name.
14156
14157 2001-12-11  Ed Schonberg <schonber@gnat.com>
14158
14159         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
14160         that is the parent of other generics, the instance body replaces the
14161         instance node.  Retrieve the instance of the spec, which is the one
14162         that is visible in clients and within the body.
14163
14164 2001-12-11  Vincent Celier <celier@gnat.com>
14165
14166         * gnatmain.adb: Initial version.
14167
14168         * gnatmain.ads: Initial version.
14169
14170         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
14171
14172         * snames.adb: Updated to match snames.ads.
14173
14174         * snames.ads: Added Gnatstub.
14175
14176 2001-12-11  Vincent Celier <celier@gnat.com>
14177
14178         * prj-attr.adb (Initialization_Data): Change name from
14179         Initialisation_Data.
14180
14181 2001-12-11  Emmanuel Briot <briot@gnat.com>
14182
14183         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
14184         + and * applied to backslashed expressions like \r.
14185
14186 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
14187
14188         * g-os_lib.ads: String_List type added, Argument_List type is now
14189         subtype of String_List.
14190
14191 2001-12-11  Robert Dewar <dewar@gnat.com>
14192
14193         * g-os_lib.ads: Change copyright to FSF
14194         Add comments for String_List type
14195
14196 2001-12-11  Vincent Celier <celier@gnat.com>
14197
14198         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
14199         string to the buffer).
14200
14201 2001-12-11  Ed Schonberg <schonber@gnat.com>
14202
14203         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
14204         sem_attr.
14205
14206         * sem_attr.adb: Simplify previous fix for Address.
14207         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
14208         to avoid anomalies where the bound of the type appears to raise
14209         constraint error.
14210
14211 2001-12-11  Robert Dewar <dewar@gnat.com>
14212
14213         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
14214         handled.
14215
14216 2001-12-11  Ed Schonberg <schonber@gnat.com>
14217
14218         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
14219         renamed unit before checking for recursive instantiations.
14220
14221 2001-12-11  Emmanuel Briot <briot@gnat.com>
14222
14223         * prj.ads: Add comments for some of the fields.
14224
14225 2001-12-11  Robert Dewar <dewar@gnat.com>
14226
14227         * lib-xref.adb (Output_Refs): Don't output type references outside
14228         the main unit if they are not otherwise referenced.
14229
14230 2001-12-11  Ed Schonberg <schonber@gnat.com>
14231
14232         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
14233         code and diagnose additional illegal uses
14234
14235         * sem_util.adb (Is_Object_Reference): An indexed component is an
14236         object only if the prefix is.
14237
14238 2001-12-11  Vincent Celier <celier@gnat.com>
14239
14240         * g-diopit.adb: Initial version.
14241
14242         * g-diopit.ads: Initial version.
14243
14244         * g-dirope.adb:
14245         (Expand_Path): Avoid use of Unbounded_String
14246         (Find, Wildcard_Iterator): Moved to child package Iteration
14247
14248         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
14249
14250 2001-12-11  Robert Dewar <dewar@gnat.com>
14251
14252         * sem_attr.adb: Minor reformatting
14253
14254 2001-12-11  Ed Schonberg <schonber@gnat.com>
14255
14256         * sem_ch3.adb: Clarify some ???.
14257
14258 2001-12-11  Robert Dewar <dewar@gnat.com>
14259
14260         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
14261         Exp_Pakd.Known_Aligned_Enough
14262
14263         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
14264         version is moved to Exp_Ch13.
14265
14266 2001-12-11  Robert Dewar <dewar@gnat.com>
14267
14268         * einfo.ads: Minor reformatting
14269
14270         * exp_ch5.adb: Add comment for previous.change
14271
14272         * ali.adb: New interface for extended typeref stuff.
14273
14274         * ali.ads: New interface for typeref stuff.
14275
14276         * checks.adb (Apply_Alignment_Check): New procedure.
14277
14278         * debug.adb: Add -gnatdM for modified ALI output
14279
14280         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
14281
14282         * lib-xref.adb: Extend generation of <..> notation to cover
14283         subtype/object types. Note that this is a complete rewrite,
14284         getting rid of the very nasty quadratic algorithm previously
14285         used for derived type output.
14286
14287         * lib-xref.ads: Extend description of <..> notation to cover
14288         subtype/object types. Uses {..} for these other cases.
14289         Also use (..) for pointer types.
14290
14291         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
14292
14293         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
14294         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
14295
14296 2001-12-11  Vincent Celier <celier@gnat.com>
14297
14298         * gnatcmd.adb:
14299         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
14300         Changed /BIND_ONLY to /ACTIONS=BIND
14301         Changed /LINK_ONLY to /ACTIONS=LINK
14302
14303 2001-12-11  Ed Schonberg  <schonber@gnat.com>
14304
14305         * sem_ch8.adb (Find_Selected_Component): improved search for a
14306         candidate package in case of error.
14307
14308         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
14309         chain back on scope stack before reinstalling use clauses.
14310
14311         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
14312         is enabled, do not kill the code for the condition, to preserve
14313         warning.
14314
14315 2001-12-11  Robert Dewar <dewar@gnat.com>
14316
14317         * checks.adb (Insert_Valid_Check): Apply validity check to expression
14318         of conversion, not to result of conversion.
14319
14320 2001-12-11  Ed Schonberg <schonber@gnat.com>
14321
14322         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
14323         before freezing parent. If the declarations are mutually recursive,
14324         an access to the current record type may be frozen before the
14325         derivation is complete.
14326
14327 2001-12-05  Vincent Celier <celier@gnat.com>
14328
14329         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
14330         -c /COMPILE_ONLY, -l /LINK_ONLY
14331
14332         * opt.ads:
14333         (Bind_Only): New Flag
14334         (Link_Only): New flag
14335
14336         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
14337         and -l (Link_Only)
14338
14339         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
14340
14341         * make.adb:
14342         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
14343         (Gnatmake): Set the step flags. Only perform a step if the
14344         corresponding step flag is True.
14345         (Scan_Make_Arg): Reset the bind and link step flags when -u
14346         or -gnatc has been specified.
14347
14348 2001-12-05  Ed Schonberg <schonber@gnat.com>
14349
14350         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
14351         get bounds from right operand.
14352
14353         * sem_eval.adb: Minor reformatting
14354
14355         * exp_util.adb (Make_Literal_Range): use bound of literal rather
14356         than Index'First, its lower bound may be different from 1.
14357
14358         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
14359         and C48009J
14360
14361 2001-12-05  Vincent Celier <celier@gnat.com>
14362
14363         * prj-nmsc.adb Minor reformatting
14364
14365         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
14366         set and libraries are not supported.
14367
14368 2001-12-05  Ed Schonberg <schonber@gnat.com>
14369
14370         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
14371         private view explicitly, so the back-end can treat as a global
14372         when appropriate.
14373
14374 2001-12-05  Ed Schonberg <schonber@gnat.com>
14375
14376         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
14377          unit, always replace instance node with new body, for ASIS use.
14378
14379 2001-12-05  Vincent Celier <celier@gnat.com>
14380
14381         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
14382         libraries are not supported and both attributes Library_Name and
14383         Library_Dir are specified.
14384
14385         * prj-proc.adb (Expression): Set location of Result to location of
14386         first term.
14387
14388         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
14389         (prj-nmsc is now importing MLib.Tgt)
14390
14391         * prj-proc.adb: Put the change indicated above that was forgotten.
14392
14393 2001-12-05  Robert Dewar <dewar@gnat.com>
14394
14395         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
14396
14397 2001-12-05  Ed Schonberg <schonber@gnat.com>
14398
14399         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
14400         constraint, introduce explicit subtype declaration and derive from it.
14401
14402         * sem_ch3.adb: Minor reformatting
14403
14404 2001-12-05  Robert Dewar <dewar@gnat.com>
14405
14406         * checks.adb (Determine_Range): Increase cache size for checks.
14407         Minor reformatting
14408
14409         * exp_ch6.adb: Minor reformatting
14410         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
14411         a parameter whose root type is System.Address, since treating such
14412         subprograms as pure in the code generator is almost surely a mistake
14413         that will lead to unexpected results.
14414
14415         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
14416         change handling of conversions.
14417
14418         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
14419
14420 2001-12-05  Ed Schonberg <schonber@gnat.com>
14421
14422         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
14423         aggregate with static wrong size, attach generated Raise node to
14424         declaration.
14425
14426 2001-12-05  Robert Dewar <dewar@gnat.com>
14427
14428         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
14429         Fixes compilation abandoned bomb in B24009B.
14430
14431 2001-12-05  Ed Schonberg <schonber@gnat.com>
14432
14433         * sem_ch12.adb:
14434         Document use of Associated_Node on Selected_Components.
14435         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
14436         to clarify use of untyped descendant fields.
14437
14438 2001-12-05  Robert Dewar <dewar@gnat.com>
14439
14440         * prj-dect.ads: Add ??? comment
14441         Add 2001 to copyright notice (was not done in after all)
14442
14443         * prj-part.adb: Minor reformatting. Reword one awkward error message.
14444
14445         * prj.ads: Minor reformatting throughout, and add some ??? comments
14446
14447         * snames.ads: Minor reformatting
14448
14449 2001-12-05  Geert Bosch <bosch@gnat.com>
14450
14451         * snames.adb: Autoupdate
14452
14453 2001-12-05  Vincent Celier <celier@gnat.com>
14454
14455         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
14456
14457         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
14458
14459         * prj-env.adb: Minor comment changes (modifying -> extends).
14460
14461         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
14462
14463         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
14464         Tok_Extends.
14465
14466         * prj.adb (Initialize): Change Modifying to Extends.
14467
14468         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
14469
14470         * prj.ads: Minor comment change (Modifying -> extending).
14471
14472         * snames.ads: Change modifying to extends.
14473
14474 2001-12-05  Robert Dewar <dewar@gnat.com>
14475
14476         * sem_warn.adb: Remove stuff for conditionals, we are not going to
14477         do this after all.
14478
14479         * sem_warn.ads: Remove stuff for conditionals, we are not going to
14480         do this after all.  Add 2001 to copyright notice
14481
14482 2001-12-04  Geert Bosch <bosch@gnat.com>
14483
14484         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
14485
14486 2001-12-04  Robert Dewar <dewar@gnat.com>
14487
14488         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
14489         location if we already have errors. Stops some cases of cascaded
14490         errors.
14491
14492         * errout.adb: Improve comment.
14493
14494 2001-12-04  Robert Dewar <dewar@gnat.com>
14495
14496         * sem_ch12.adb:
14497         (Analyze_Formal_Type_Definition): Defend against Error.
14498         (Analyze_Formal_Subprogram): Defend against Error.
14499
14500         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
14501         remove following semicolon if present. Removes cascaded error.
14502
14503 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
14504
14505         * bindgen.adb:
14506         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
14507          exceptions equals 0.
14508         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
14509         Fixes PIWG E tests (which have to be run with -gnatL).
14510
14511 2001-12-04  Robert Dewar <dewar@gnat.com>
14512
14513         * einfo.ads: Minor reformatting
14514
14515 2001-12-04  Ed Schonberg <schonber@gnat.com>
14516
14517         * einfo.ads: Block_Node points to the identifier of the block, not to
14518         the block node itself, to preserve the link when the block is
14519         rewritten, e.g. within an if-statement with a static condition.
14520
14521         * inline.adb (Cleanup_Scopes): recover block statement from block
14522         entity using new meaning of Block_Node.
14523
14524         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
14525         identifier of block node, rather than to node itself.
14526
14527 2001-12-04  Gary Dismukes <dismukes@gnat.com>
14528
14529         * layout.adb:
14530         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
14531         (Discrimify): Go back to setting the Etypes of the selected component
14532         because the Vname component does not exist at this point and will
14533         fail name resolution. Also set Analyzed.
14534         Remove with and use of Sem_Res.
14535
14536 2001-12-04  Arnaud Charlet <charlet@gnat.com>
14537
14538         * Makefile.in: (HIE_SOURCES): add s-fat*.
14539
14540 2001-12-04  Robert Dewar <dewar@gnat.com>
14541
14542         * sem_attr.adb:
14543         (Compile_Time_Known_Attribute): New procedure.
14544         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
14545          proper range check.
14546
14547 2001-12-04  Ed Schonberg <schonber@gnat.com>
14548
14549         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
14550         processing discriminants to diagnose illegal default values.
14551
14552 2001-12-04  Ed Schonberg <schonber@gnat.com>
14553
14554         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
14555         access discriminant within a type extension that constrains its
14556         parent discriminants.
14557
14558 2001-12-04  Ed Schonberg <schonber@gnat.com>
14559
14560         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
14561         is malformed, use instance of Any_Id to allow analysis to proceed.
14562
14563         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
14564         type definition is illegal.
14565         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
14566         misplaced.
14567
14568 2001-12-04  Ed Schonberg <schonber@gnat.com>
14569
14570         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
14571         constants.
14572
14573 2001-12-04  Robert Dewar <dewar@gnat.com>
14574
14575         * errout.adb: Minor reformatting
14576
14577 2001-12-04  Robert Dewar <dewar@gnat.com>
14578
14579         * exp_util.adb: Minor reformatting from last change
14580
14581         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
14582         which is a rewriting of an expression, traverse the original
14583         expression to remove warnings that may have been posted on it.
14584
14585 2001-12-04  Ed Schonberg <schonber@gnat.com>
14586
14587         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
14588         record that has other packed components.
14589
14590 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
14591
14592         * adaint.c: Minor cleanups.
14593
14594 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
14595
14596         * adaint.c: Do not use utime.h on vxworks.
14597
14598 2001-12-04  Arnaud Charlet <charlet@gnat.com>
14599
14600         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
14601         more confusion than it solves.
14602
14603 2001-12-04  Geert bosch <bosch@gnat.com>
14604
14605         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
14606
14607 2001-12-04  Geert Bosch  <bosch@gnat.com>
14608
14609         * Makefile.in (update-sources): New target.
14610         For use by gcc_release script.
14611
14612 2001-12-04  Ed Schonberg <schonber@gnat.com>
14613
14614         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
14615         a configuration pragma, it is now legal wherever a pragma can appear.
14616
14617 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
14618
14619         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
14620         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
14621         is now @CROSS@ -DIN_GCC; update comment.
14622
14623 2001-12-04  Robert Dewar <dewar@gnat.com>
14624
14625         * einfo.adb (Has_Pragma_Pure_Function): New flag.
14626         Fix problem that stopped ceinfo from working
14627
14628         * einfo.ads (Has_Pragma_Pure_Function): New flag.
14629
14630         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
14631
14632 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
14633
14634         * gnatchop.adb:
14635         (File_Time_Stamp): New procedure.
14636         (Preserve_Mode): New boolean.
14637         (Write_Unit): Pass time stamp.
14638         Implement -p switch (preserve time stamps).
14639
14640         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
14641
14642         * gnatchop.adb: Do usage info for -p switch
14643
14644         * adaint.h (__gnat_set_file_time_name): New function
14645
14646         * adaint.c (__gnat_set_file_time_name): Implement
14647
14648         * adaint.h: Fix typo
14649
14650 2001-12-03  Robert Dewar <dewar@gnat.com>
14651
14652         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
14653         have Associated_Node.
14654
14655 2001-12-03  Robert Dewar <dewar@gnat.com>
14656
14657         * prj-proc.adb: Minor reformatting
14658
14659         * make.adb: Minor reformatting
14660
14661 2001-12-03  Geert Bosch <bosch@gnat.com>
14662
14663         * make.adb: Minor reformatting.
14664
14665 2001-12-03 Robert Dewar  <dewar@gnat.com>
14666
14667         * sem_ch12.adb: Minor reformatting
14668
14669 2001-12-03  Ed Schonberg <schonber@gnat.com>
14670
14671         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
14672         push Standard on the stack before analyzing the instance body,
14673         in order to have a clean visibility environment.
14674
14675         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
14676
14677 2001-12-03  Ed Schonberg <schonber@gnat.com>
14678
14679         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
14680         instantiation of a body that contains an inlined body.
14681
14682 2001-12-03  Ed Schonberg <schonber@gnat.com>
14683
14684         * sem_ch12.adb:
14685         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
14686         to prevent freezing within formal packages.
14687         (Freeze_Subprogram_Body): If body comes from another instance that
14688         appeared before its own body, place freeze node at end of current
14689         declarative part, to prevent a back-end crash.
14690         (Inline_Instance_Body): Handle properly a package instance within
14691         a subprogram instance that is a child unit.
14692
14693 2001-12-01  Graham Stott  <grahams@redhat.com>
14694
14695         * Makefile.in (misc.o): Add missing $(srcdir) prefix
14696         and add optabs.h dependency.
14697
14698         * misc.c: Include optabs.h
14699         (gnat_tree_code_type): Make static and const.
14700         (gnat_tree_code_length): Likewise.
14701         (gnat_tree_code_name): Likewise.
14702         (update_setjmp_buf): Obtain operands mode from insn_data.
14703
14704 2001-11-29  Richard Henderson  <rth@redhat.com>
14705
14706         * init.c: Remove obsolete dwarf2 frame.h section.
14707
14708 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
14709
14710         * Make-lang.in (ada.generated-manpages): New dummy target.
14711
14712 2001-11-29  Ed Schonberg <schonber@gnat.com>
14713
14714         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
14715         into Command, an array conversion is illegal here. Uncovered by
14716         ACATS B460005.
14717
14718 2001/11/28  Geert Bosch <bosch@gnat.com>
14719
14720         * init.c: Minor whitespace changes.
14721
14722 2001-11-28  Doug Rupp <rupp@gnat.com>
14723
14724         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
14725         signal stack.
14726
14727 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
14728
14729         * misc.c (gnat_expand_constant): Move declaration above
14730         definition of lang_hooks.
14731         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
14732         (gnat_init): lang_expand_constant no longer exists.
14733
14734         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
14735         always have vprintf.
14736         (gnat_init): Always call set_internal_error_function.
14737
14738 2001-11-27  Andreas Jaeger  <aj@suse.de>
14739
14740         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
14741
14742 2001-11-27  Laurent Guerby  <guerby@acm.org>
14743
14744         * Makefile.in: Regenerate Ada dependencies.
14745
14746 2001-11-26  Richard Henderson  <rth@redhat.com>
14747
14748         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
14749         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
14750         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
14751
14752 2001-11-25  Laurent Guerby  <guerby@acm.org>
14753
14754         * sysdep.c (rts_get_*): Fix style.
14755
14756 2001-11-19  Laurent Guerby  <guerby@acm.org>
14757
14758         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
14759         since it is of no apparent use and cause warnings.
14760
14761 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
14762
14763         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
14764         static too.
14765         (gnat_init): Don't return NULL.
14766         (finish_parse): Remove.
14767
14768 2001-11-17  Laurent Guerby  <guerby@acm.org>
14769
14770         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
14771         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
14772         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
14773         * lang-spec.h: Add missing struct field to silence warnings.
14774         * sysdep.c (rts_get_*): Provide K&R prototype.
14775         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
14776         * traceback.c (Unlock_Task, Lock_Task): Likewise.
14777         * tracebak.c (__gnat_backtrace): Remove unused variable.
14778         * utils.c (end_subprog_body): Move to K&R style.
14779
14780 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14781
14782         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
14783
14784 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
14785
14786         * misc.c (gnat_init): Change prototype.  Include the
14787         functionality of the old init_parse and init_decl_processing.
14788         (gnat_init_decl_processing): New prototype.
14789         (init_parse): Remove.
14790         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
14791
14792 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
14793
14794         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
14795         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
14796         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
14797         set_yydebug): Remove.
14798
14799 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
14800
14801         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
14802         (struct lang_hooks): Constify.
14803         (language_string, lang_identify): Remove.
14804         * utils.c (init_decl_processing): Update.
14805
14806 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14807
14808         * misc.c: Include langhooks-def.h.
14809         * Makefile.in: Update.
14810
14811 2001-10-30  Robert Dewar <dewar@gnat.com>
14812
14813         * style.adb:
14814         (Check_Identifier): Rewrite circuit to be compatible with use of letters
14815         in the upper half of ASCII.
14816         (Check_Identifier): Minor reformatting
14817
14818 2001-10-30  Geert Bosch <bosch@gnat.com>
14819
14820         * (Associated_Node, Set_Associated_Node): Do not check for
14821         Freeze_Entity.
14822
14823 2001-10-30  Robert Dewar <dewar@gnat.com>
14824
14825         * a-reatim.ads: Minor reformatting
14826
14827 2001-10-30  Robert Dewar <dewar@gnat.com>
14828
14829         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
14830         undocumented declarations.
14831
14832 2001-10-30  Pascal Obry <obry@gnat.com>
14833
14834         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
14835         to the binder and linker.
14836         Minor style fix.
14837
14838         * mdll.ads: Fix layout.  Update copyright notice.
14839
14840         * mdll.adb: Fix layout.  Update copyright notice.
14841
14842 2001-10-30  Robert Dewar <dewar@gnat.com>
14843
14844         * usage.adb: Minor fix to output for -gnaty.
14845
14846 2001-10-30  Ed Schonberg <schonber@gnat.com>
14847
14848         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
14849         to accommodate all its possible values.
14850
14851         * a-reatim.adb (Split): Special-case handling of Time_Span_First
14852         and of small absolute values of T.
14853
14854 2001-10-30  Richard Kenner <kenner@gnat.com>
14855
14856         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
14857         set_mem_attributes since not needed and wrong if RESULT if a REG;
14858         fixes ACATS failures.
14859
14860 2001-10-30  Geert Bosch <bosch@gnat.com>
14861
14862         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
14863         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
14864
14865 2001-10-30  Robert Dewar <dewar@gnat.com>
14866
14867         * bindusg.adb: Undocument -f switch.
14868
14869         * gnatcmd.adb: Remove /FULL_ELABORATION.
14870
14871         * opt.ads (Force_RM_Elaboration_Order): Document that this is
14872         obsolescent.
14873
14874         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
14875
14876         * gnatbind.adb: Minor update of warning msg.
14877
14878 2001-10-30  Vincent Celier <celier@gnat.com>
14879
14880         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
14881         for project file switches (-P (/PROJECT_FILE=),
14882          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
14883         or MEDIUM or HIGH)
14884
14885 2001-10-30  Geert Bosch <bosch@gnat.com>
14886
14887         * decl.c: Minor whitespace fixes.
14888
14889 2001-10-30  Richard Kenner <kenner@gnat.com>
14890
14891         * utils2.c (build_allocator): Test for SIZE overflow in array case too
14892
14893 2001-10-30  Geert Bosch <bosch@gnat.com>
14894
14895         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
14896         Found due to GCC 3.0 warning of using uninitialized value.
14897
14898         * layout.adb:
14899         (Get_Max_Size): Use variant record for tracking value/expression.
14900          Makes logic clearer and prevents warnings for uninitialized variables.
14901         (Layout_Array_Type): Use variant record for tracking value/expression.
14902          Makes logic clearer and prevents warnings for uninitialized variables.
14903
14904 2001-10-30  Robert Dewar <dewar@gnat.com>
14905
14906         * lib.adb: Minor reformatting
14907
14908         * s-taprop.ads: Minor reformatting
14909
14910 2001-10-29  Laurent Guerby  <guerby@acm.org>
14911
14912         * init.c:
14913         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
14914         const.
14915         (_gnat_error_handler): Make MSG const.
14916
14917 2001-10-29  Richard Kenner <kenner@gnat.com>
14918
14919         * sysdep.c: Fix localtime_r problem on LynxOS.
14920         Also remove #elif to avoid warnings.
14921
14922         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
14923         used by this.
14924
14925         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
14926
14927 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
14928
14929         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
14930         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
14931         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
14932         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
14933         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
14934         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
14935         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
14936         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
14937         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
14938         types.ads, urealp.adb: Fix spelling errors.
14939
14940 2001-10-27  Laurent Guerby <guerby@acm.org>
14941
14942         * trans.c (gigi): Fix non determinism leading to bootstrap
14943         comparison failures for debugging information.
14944
14945 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
14946
14947         * gnat_rm.texi: Use @./@: where appropriate.
14948
14949 2001-10-26  Robert Dewar <dewar@gnat.com>
14950
14951         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
14952
14953 2001-10-26  Richard Kenner <kenner@gnat.com>
14954
14955         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
14956
14957 2001-10-26  Richard Kenner <kenner@gnat.com>
14958
14959         * decl.c (validate_size): Modify message for bad size to avoid
14960         implication that compiler is modifying the size.
14961
14962 2001-10-26  Robert Dewar <dewar@gnat.com>
14963
14964         * prj-util.adb: Minor reformatting. Fix bad header format.
14965
14966 2001-10-26  Robert Dewar <dewar@gnat.com>
14967
14968         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
14969
14970         * sinfo.ads: Clarify use of Associated_Node (documentation only).
14971
14972         * sem_ch12.adb: Change Node4 to Associated_Node. Change
14973         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
14974         much more narrowly in places where needed. These are cleanups.
14975
14976 2001-10-26  Joel Brobecker <brobecke@gnat.com>
14977
14978         * 5zosinte.ads (null_pthread): new constant.
14979
14980         * 5ztaprop.adb:
14981         (Initialize_TCB): Initialize thread ID to null, to be able to verify
14982          later that this field has been set.
14983         (Finalize_TCB): ditto.
14984         (Suspend_Task): Verify that the thread ID is not null before using it.
14985         (Resume_Task): ditto.
14986
14987         * s-tasdeb.adb:
14988         (Resume_All_Tasks): Lock the tasks list before using it.
14989         (Suspend_All_Tasks): ditto.
14990
14991 2001-10-26  Richard Kenner <kenner@gnat.com>
14992
14993         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
14994         Make constant variant of designated type for Is_Access_Constant.
14995         Call update_pointer_to with main variant.
14996
14997         * trans.c (process_freeze_entity, process_type):
14998         Call update_pointer_to on main variant.
14999
15000         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
15001         If main variant, update all other variants.
15002
15003         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
15004         TREE_STATIC.
15005
15006 2001-10-26  Robert Dewar <dewar@gnat.com>
15007
15008         * prj-util.adb: Minor reformatting
15009
15010 2001-10-26  Robert Dewar <dewar@gnat.com>
15011
15012         * prj-util.adb: Minor reformatting
15013
15014 2001-10-26  Robert Dewar <dewar@gnat.com>
15015
15016         * prj-attr.adb: Minor reformatting throughout
15017
15018 2001-10-26  Robert Dewar <dewar@gnat.com>
15019
15020         * prj-attr.ads: Minor reformatting
15021         Add ??? comment (this whole spec has almost no comments)
15022
15023 2001-10-26  Vincent Celier <celier@gnat.com>
15024
15025         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
15026         ("//") that precede the drive letter on Interix.
15027
15028 2001-10-26  Geert Bosch <bosch@gnat.com>
15029
15030         * gnat_rm.texi: Add GNAT Reference Manual.
15031
15032 2001-10-25  Robert Dewar <dewar@gnat.com>
15033
15034         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
15035         is Error. Similar change for other renaming cases.
15036
15037 2001-10-25  Robert Dewar <dewar@gnat.com>
15038
15039         * s-atacco.ads: Add pragma Inline_Always for functions.
15040         Fix header format. Add copyright 2001
15041
15042 2001-10-25  Ed Schonberg <schonber@gnat.com>
15043
15044         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
15045         return Error rather than Empty so that analysis can proceed.
15046
15047 2001-10-25  Ed Schonberg <schonber@gnat.com>
15048
15049         * sem_util.adb (Enter_Name): better handling of cascaded error
15050         messages when a unit appears in its own context.
15051
15052 2001-10-25  Ed Schonberg <schonber@gnat.com>
15053
15054         * sem_util.adb (Defining_Entity): in case of error, attach created
15055         entity to specification, so that semantic analysis can proceed.
15056
15057 2001-10-25  Robert Dewar <dewar@gnat.com>
15058
15059         * sem_util.adb
15060         (Defining_Entity): Deal with Error.
15061         (Process_End_Label): Deal with bad end label for.
15062
15063 2001-10-25  Ed Schonberg <schonber@gnat.com>
15064
15065         * sem_elab.adb (Check_A_Call): refine message when call is in an
15066         instance but callee is not declared in the generic unit.
15067
15068 2001-10-25  Ed Schonberg <schonber@gnat.com>
15069
15070         * sem_elab.adb (Check_A_Call): check for renaming before finding the
15071         enclosing unit, which may already be different from the calling unit.
15072
15073 2001-10-25  Geert Bosch <bosch@gnat.com>
15074
15075         * 4gintnam.ads: fix header format.
15076
15077 2001-10-25  Ed Schonberg <schonber@gnat.com>
15078
15079         * sem_res.adb (Resolve_Call): if the call is actually an indexing
15080         operation on the result of a parameterless call, perform elaboration
15081         check after the node has been properly rewritten.
15082
15083         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
15084         inlined within the generic tree, the defining identifier is not a
15085         compilation_unit.
15086
15087 2001-10-25  Ed Schonberg <schonber@gnat.com>
15088
15089         * sem_res.adb (Resolve): special-case resolution of Null in an
15090          instance or an inlined body to avoid view conflicts.
15091
15092         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
15093          compatibility by retrieving the access type of the generic copy.
15094
15095 2001-10-25  Robert Dewar <dewar@gnat.com>
15096
15097         * sem_ch3.adb:
15098         (Analyze_Number_Declaration): Handle error expression.
15099         (Signed_Integer_Type_Declaration): Handle error bound.
15100         (Analyze_Subtype_Indication): Handle error range.
15101
15102         * sem_util.adb (Get_Index_Bounds): Check for Error.
15103
15104 2001-10-25  Robert Dewar <dewar@gnat.com>
15105
15106         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
15107         in no run time mode.
15108
15109 2001-10-25  Pascal Obry <obry@gnat.com>
15110
15111         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
15112         mode case for ALLOC case.
15113
15114         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
15115         all platforms. Improvement of last change.
15116
15117 2001-10-25  Robert Dewar <dewar@gnat.com>
15118
15119         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
15120
15121 2001-10-25  Geert Bosch  <bosch@gnat.com>
15122
15123         * osint.adb (Is_Relative): Remove duplicate.
15124
15125 2001-10-25  Pascal Obry <obry@gnat.com>
15126
15127         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
15128         pathnames in UNIX and DOS style with drive letter.
15129         (Is_Relative): new routine.
15130
15131         * osint.adb: Minor reformatting
15132
15133         * osint.adb (Is_Relative): implementation using
15134         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
15135
15136 2001-10-25  Pascal Obry <obry@gnat.com>
15137
15138         * g-dirope.adb (Basename): correctly compute offset between the
15139         original Path and the translated one.
15140
15141         * g-dirope.adb: (Base_Name): add some comments.
15142
15143 2001-10-25  Robert Dewar <dewar@gnat.com>
15144
15145         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
15146         in HIE mode, avoids compilation abandoned message
15147
15148         * exp_imgv.adb: Correct typo in previous change
15149
15150         * exp_imgv.adb: Correct typo in previous change (not my day!)
15151
15152 2001-10-25  Robert Dewar <dewar@gnat.com>
15153
15154         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
15155
15156 2001-10-25  Pascal Obry <obry@gnat.com>
15157
15158         * g-awk.ads: Move all pragma inlines next to the routine
15159          declarations. This is more uniform with other GNAT spec.
15160
15161 2001-10-22  Geert Bosch  <bosch@gnat.com>
15162
15163         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
15164
15165 2001-10-19  Geert Bosch  <bosch@gnat.com>
15166
15167         * Makefile.in (tools, gnattools): Remove gnatmem.
15168
15169 2001-10-17  Richard Henderson  <rth@redhat.com>
15170
15171         * Makefile.in (misc.o): Depend on langhooks.h.
15172         * misc.c: Include it.
15173         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
15174         (LANG_HOOKS_DECODE_OPTION): New.
15175         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
15176
15177 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
15178
15179         * trans.c (tree_transform): Adjust to recent change in
15180         expand_asm_operands to implement named asm operands.
15181
15182 2001-10-11  Ed Schonberg  <schonber@gnat.com>
15183
15184         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
15185         renaming of discriminant for mutable record type.
15186
15187 2001-10-11  Robert Dewar  <dewar@gnat.com>
15188
15189         * validsw.adb: Properly save -gnatVn status.
15190
15191 2001-10-11  Robert Dewar <dewar@gnat.com>
15192
15193         * usage.adb: Add lines for V switch.
15194
15195         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
15196         (/VALIDITY_CHECKING).
15197
15198 2001-10-11  Ed Schonberg <schonber@gnat.com>
15199
15200         * sem_type.adb (Add_One_Interp): an operator for a type declared in
15201         an extension of System is known to be visible.
15202
15203 2001-10-11  Ed Schonberg <schonber@gnat.com>
15204
15205         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
15206         properly. Fixes regression on ACATS C34005G.
15207
15208 2001-10-11  Robert Dewar <dewar@gnat.com>
15209
15210         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
15211         loop in generic instance, since this is likely not very useful.
15212
15213 2001-10-11  Robert Dewar <dewar@gnat.com>
15214
15215         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
15216         the error message for high integrity mode.
15217
15218         * rtsfind.adb (RTE): Give message if we try to find an entity that
15219         is not available in high integrity mode.
15220
15221         * rtsfind.ads:
15222         (OK_To_Use_In_HIE_Mode): New array.
15223         (RTE): May return Empty in high integrity mode.
15224
15225         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
15226         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
15227
15228         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
15229         unit if not inlined always and in no runtime mode. Fixes problem
15230         caused by new Rtsfind changes.
15231
15232         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
15233         body is deleted.
15234
15235         * rtsfind.adb (RTE): Make sure we do not try to load unit after
15236         giving message for entity not available in high integrity mode.
15237
15238 2001-10-11  Pascal Obry <obry@gnat.com>
15239
15240         * impunit.adb: Add GNAT.CRC32.
15241
15242 2001-10-11  Ed Schonberg <schonber@gnat.com>
15243
15244         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
15245         properly the case where one universal operand in a non-static
15246         exponentiation of a real literal.
15247
15248 2001-10-11  Ed Schonberg <schonber@gnat.com>
15249
15250         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
15251         clause, return the gobal finalization list, for lack of anthing else.
15252
15253 2001-10-11  Ed Schonberg <schonber@gnat.com>
15254
15255         * exp_ch7.adb (Make_Transient_Block): if statement is within
15256         exception handler, always use new transient scope to place Clean
15257         procedure.
15258
15259 2001-10-11  Pascal Obry <obry@gnat.com>
15260
15261         * Makefile.in:
15262         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
15263         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
15264         (GNATLS_RTL_OBJS): add g-crc32.o
15265         (GNATMAKE_RTL_OBJS): add g-crc32.o
15266
15267         * ali-util.adb:
15268         (CRC_Match): new function.
15269         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
15270         instead of the previous simple checksum algorithm.
15271         (Time_Stamp_Mismatch): use CRC_Match for comparison.
15272         (Set_Source_Table): idem.
15273
15274         * ali-util.ads:
15275         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
15276         instead of simple checksum.
15277         (CRC_Match): new function.
15278         (CRC_Error): new constant.
15279
15280         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
15281         a CRC now and not a simple checksum. A CRC uses lower-case hex
15282         letters, fixes ambiguity in parsing.
15283
15284         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
15285         is what this variable will store.
15286
15287         * bcheck.adb: Change reference to chechsum in comments by CRC.
15288         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
15289         rename All_Checksum_Match to All_CRC_Match. Change due to API
15290         renaming since now GNAT does not use a simple checksum but a
15291         CRC using GNAT.CRC32.
15292
15293         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
15294         now and not anymore a simple checksum.
15295
15296         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
15297         places.
15298
15299         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
15300
15301         * scans.adb:
15302         (Restore_Scan_State): rename Checksum to CRC.
15303         (Save_Scan_State): idem.
15304
15305         * scans.ads:
15306         With GNAT.CRC32.
15307         (Checksum): rename to CRC.
15308         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
15309
15310         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
15311         GNAT.CRC32).  Update copyright notice.
15312
15313         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
15314         GNAT.CRC32).  Update copyright notice.
15315
15316         * scn.adb:
15317         (Accumulate_Checksum): removed.
15318         (Update): new procedure. Add a wide-character into the CRC.
15319
15320         * sinput-l.adb:
15321         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
15322         (Load_File): fix initialization of S (change Source_Checksum to
15323         Source_CRC)
15324
15325         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
15326         Source_CRC in S initialization.
15327
15328         * sinput.adb (Source_Checksum): renamed to Source_CRC.
15329
15330         * sinput.ads (Source_Checksum): renamed to Source_CRC.
15331         Update comments for the CRC.
15332
15333         * types.adb (Hex): Use lowercase for the letter part.
15334
15335         * types.ads (Get_Hex_String): Returns the hexadecimal representation
15336         for a word. This is currently used only for CRC. In previous version,
15337         the checksum was using a representation with all letter being
15338         upper-case. With the new implementation (using CRC) we do not remove
15339         the 32th bit of the CRC, so we can have an upper-case starting letter
15340         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
15341         It is ambigous since the CRC was optional and could be followed by
15342         options like EB, EE. So now this routines uses lower-case letter for
15343         the hexadecimal representation. Strange enough only lower case letters
15344         where checked in Scan_ALI (even if this was not a possible case).
15345
15346         * gnatvsn.ads (Library_Version): changed to 3.15a.
15347
15348         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
15349         for the compiler.
15350
15351         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
15352         for the compiler.
15353
15354         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
15355         Add 2001 to copyright notice
15356         (Accumulate_Checksum): Modify to use System.CRC32.
15357
15358         * ali-util.ads: Redo changes of previous revision to continue to use
15359         the word Checksum. Add 2001 to copyright notice.
15360
15361         * ali.adb: Undo some of previous changes, not needed.
15362         Keep the change for lower case letters in the checksum.
15363
15364         * ali.ads: Undo previous change not needed.
15365
15366         * bcheck.adb: Undo most of previous change, not needed.
15367         But do use Checksums_Match for checksum comparison.
15368
15369         * gnatls.adb: Undo most of previous change, not needed.
15370         But do use Checksums_Match for comparing checksums.
15371
15372         * lib-load.adb: Undo previous change, not needed.
15373
15374         * lib-writ.adb: Undo previous change, not needed.
15375
15376         * lib-writ.ads: Document that checksums use lower case,
15377         not upper case letters.
15378
15379         * scans.adb: Undo previous change, not needed
15380
15381         * scans.ads: Undo previous change, not needed.
15382
15383         * scn-nlit.adb: Undo previous changes, not needed.
15384
15385         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
15386
15387         * scn.adb:
15388         (Accumulate_Checksum): Use System.CRC32.
15389         (Initialize_Checksum): New procedure.
15390         Remove other changes of previous revision.
15391
15392         * sinput-p.adb: Undo previous change, not needed.
15393
15394         * sinput.adb: Undo previous change, not needed.
15395
15396         * sinput-l.adb: Undo previous change, not needed.
15397
15398         * sinput.ads: Undo previous change, not needed.  Keep only comment
15399         on new checksum algorithm
15400
15401         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
15402         Also remove a-tags and a-stream from GNAT sources.
15403
15404         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
15405
15406         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
15407
15408 2001-10-11  Geert Bosch  <bosch@gnat.com>
15409
15410         * einfo.h: Regenerate.
15411
15412         * nmake.ads: Regenerate.
15413
15414         * nmake.adb: Regenerate.
15415
15416         * sinfo.h: Regenerate.
15417
15418         * treeprs.adb: Regenerate.
15419
15420 2001-10-10  Geert Bosch  <bosch@gnat.com>
15421
15422         * gnat-style.texi: New file describing coding guidelines for Ada.
15423
15424 2001-10-10  Ed Schonberg <schonber@gnat.com>
15425
15426         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
15427         is Flag174.
15428
15429 2001-10-10  Geert Bosch  <bosch@gnat.com>
15430
15431         * snames.ads: Add new names for project facility.
15432
15433         * snames.adb: Update to reflect snames.ads changes.
15434
15435         * snames.h: Update to reflect snames.ads changes.
15436
15437 2001-10-10  Vincent Celier <celier@gnat.com>
15438
15439         * make.adb:
15440         (Add_Switches): reflect the changes for the switches attributes
15441         Default_Switches indexed by the programming language,
15442         Switches indexed by the file name.
15443         (Collect_Arguments_And_Compile): Idem.
15444         Reflect the attribute name changes.
15445
15446         * prj-attr.adb:
15447         (Initialisation_Data): Change the names of some packages and
15448         attributes.
15449         (Initialize): process case insensitive associative arrays.
15450
15451         * prj-attr.ads:
15452         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
15453
15454         * prj-dect.adb:
15455         (Parse_Attribute_Declaration): For case insensitive associative
15456          arrays, set the index string to lower case.
15457
15458         * prj-env.adb:
15459         Reflect the changes of the project attributes.
15460
15461         * prj-nmsc.adb:
15462         Replace Check_Naming_Scheme by Ada_Check and
15463         Language_Independent_Check.
15464
15465         * prj-nmsc.ads:
15466         Replaced Check_Naming_Scheme by 2 procedures:
15467         Ada_Check and Language_Independent_Check.
15468
15469         * prj-proc.adb:
15470         (Process_Declarative_Items): For case-insensitive associative
15471         arrays, set the index string to lower case.
15472         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
15473         Prj.Nmsc.Check_Naming_Scheme.
15474
15475         * prj-tree.adb:
15476         (Case_Insensitive): New function
15477         (Set_Case_Insensitive): New procedure
15478
15479         * prj-tree.ads:
15480         (Case_Insensitive): New function
15481         (Set_Case_Insensitive): New procedure
15482         (Project_Node_Record): New flag Case_Insensitive.
15483
15484         * prj-util.adb:
15485         (Value_Of): new function to get the string value of a single
15486         string variable or attribute.
15487
15488         * prj-util.ads:
15489         (Value_Of): new function to get the string value of a single
15490         string variable or attribute.
15491
15492         * prj.adb:
15493         (Ada_Default_Spec_Suffix): New function
15494         (Ada_Default_Impl_Suffix): New function
15495         Change definitions of several constants to reflect
15496         new components of record types.
15497
15498         * prj.ads:
15499         (Naming_Data): Change several components to reflect new
15500         elements of naming schemes.
15501         (Project_Data): New flags Sources_Present and
15502         Language_Independent_Checked.
15503         (Ada_Default_Spec_Suffix): New function.
15504         (Ada_Default_Impl_Suffix): New function.
15505
15506         * snames.ads:
15507         Modification of predefined names for project manager: added
15508         Implementation, Specification_Exceptions, Implementation_Exceptions,
15509         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
15510         Default_Switches, _Languages, Builder, Cross_Reference,
15511         Finder. Removed Body_Part, Specification_Append, Body_Append,
15512         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
15513         Gnatlink.
15514
15515         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
15516         Add comments.
15517
15518         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
15519         not that it is Nil_Variable_Value.
15520
15521         * prj.ads: Add ??? for uncommented declarations
15522
15523 2001-10-10  Ed Schonberg <schonber@gnat.com>
15524
15525         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
15526         constant, do not indicate possible modification, so that gigi can
15527         treat it as a bona fide constant.
15528
15529 2001-10-10  Robert Dewar <dewar@gnat.com>
15530
15531         * sem_prag.adb: Add processing for pragma External.
15532
15533         * snames.ads: Add entry for pragma External.
15534
15535         * par-prag.adb: Add pragma External.
15536
15537         * snames.adb: Updated to match snames.ads.
15538
15539 2001-10-10  Ed Schonberg <schonber@gnat.com>
15540
15541         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
15542         a dynamic task if the allocator appears in an indexed assignment
15543         or selected component assignment.
15544
15545         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
15546         For a dynamic task in an assignment statement, use target of
15547         assignment to generate meaningful name.
15548
15549 2001-10-10  Ed Schonberg <schonber@gnat.com>
15550
15551         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
15552         a generic package.
15553
15554         * einfo.ads: Body_Entity is also defined for generic package.
15555         Documentation change only
15556
15557         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
15558         others_choice for a discriminated component initialization,
15559         convert discriminant references into the corresponding discriminals.
15560
15561         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
15562         only if original type is private and expression has to be wrapped
15563         in a conversion.
15564
15565         * checks.adb:
15566         (Apply_Constraint_Check): Do not perform length check
15567         if expression is an aggregate with only an others_choice.
15568         (Length_N_Cond): two references to the same in_parameter
15569         (typically the discriminal in an init_proc) denote the same value.
15570         Two useful optimization uncovered by bugfixes above.
15571
15572 2001-10-10  Robert Dewar <dewar@gnat.com>
15573
15574         * xeinfo.adb: Change int to char in translation of enumeration types.
15575         This fixes a problem in the C representation of component alignment.
15576         Add 2001 to copyright notice
15577
15578 2001-10-10  Richard Kenner <kenner@gnat.com>
15579
15580         * decl.c: (validate_size): Do check size of object of integral type
15581         if it is a packed array type.
15582
15583 2001-10-10  Richard Kenner <kenner@gnat.com>
15584
15585         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
15586         VAR_DECL for constant if not Is_Public but -O0.
15587
15588 2001-10-10  Richard Kenner  <kenner@gnat.com>
15589
15590         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
15591
15592 2001-10-10  Geert Bosch  <bosch@gnat.com>
15593
15594         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
15595         use '/' as switch character, allowing for absolute file names.
15596
15597 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
15598
15599         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
15600         FSF address.
15601
15602 2001-10-08  Geert Bosch  <bosch@gnat.com>
15603
15604         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
15605         Automatically build utilities when files need to be regenerated.
15606
15607 2001-10-08  Geert Bosch  <bosch@gnat.com>
15608
15609         * xsnames.adb: New utility for updating snames.ads and snames.adb
15610
15611 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
15612
15613         * Make-lang.in (ADAFLAGS): Add -W -Wall.
15614         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
15615         (gnat1): Also depend on attribs.o.
15616         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
15617         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
15618         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
15619         (ADAFLAGS): Add -W -Wall.
15620         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
15621         take out CFLAGS.
15622
15623         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
15624         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
15625         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
15626         Use $(ADAC), not $(CC), as compilation command.
15627
15628         (gnattools): Depend directly on tools to build, don't use
15629         recursive make.
15630         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
15631
15632         * einfo.h, sinfo.h: New files (autogenerated).
15633
15634 2001-10-08  Richard Henderson  <rth@redhat.com>
15635
15636         * comperr.adb (Abort_In_Progress): New.
15637         (Compiler_Abort): Use it to prevent recursion.
15638
15639 2001-10-08  Robert Dewar <dewar@gnat.com>
15640
15641         * atree.adb: Set Error_Posted in Error node, helps error recovery.
15642
15643         * par-endh.adb (Output_End_Expected): We should also not test
15644         Error_Posted on the Error node, since now it is always set.
15645
15646         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
15647         to help error recovery. Part of general work on 9407-004.
15648
15649         * par.adb: Add ??? for misuse of error
15650
15651         * sem_res.adb:
15652         (Resolve): Defend against Error, fixes 9407-003.
15653         (Resolve_Discrete_Subtype_Indication): Defend against Error.
15654
15655         * sinfo.ads (N_Error): Now has Etype field (which will be set
15656         to Any_Type to help error recovery).
15657
15658 2001-10-08  Richard Kenner (kenner@gnat.com)
15659
15660         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
15661         Consistently set MEM attributes from expression; fixes
15662         bootstrap failure on x86.
15663
15664 2001-10-08  Geert Bosch  (bosch@gnat.com)
15665
15666         * 5oosinte.adb: Add 2001 to copyright notice.
15667
15668 2001-10-08  Geert Bosch  (bosch@gnat.com)
15669
15670         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
15671
15672         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
15673
15674 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
15675
15676         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
15677
15678 2001-10-05  Geert Bosch  (bosch@gnat.com)
15679
15680         * adaint.h: Small formatting fix.
15681
15682 2001-10-04  Geert Bosch  <bosch@gnat.com>
15683
15684         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
15685         Arg is int, not FILE *, in dummy version of functions.
15686
15687         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
15688         Arg is int, not FILE *.
15689
15690 2001-10-04  Geert Bosch  <bosch@gnat.com>
15691
15692         * 3lsoccon.ads: Added file, missed with initial check ins.
15693
15694         * 4lintnam.ads: Fix header format.
15695         Change Linux to GNU/Linux.
15696
15697         * 5iosinte.adb: Change Linux to GNU/Linux.
15698
15699         * 5iosinte.ads: Change Linux to GNU/Linux.
15700
15701         * 5itaprop.adb: Change Linux to GNU/Linux.
15702
15703         * 5itaspri.ads: Change Linux to GNU/Linux.
15704         Update copyright notice.
15705
15706         * 5lintman.adb: Change Linux to GNU/Linux.
15707
15708         * 5lml-tgt.adb: Change Linux to GNU/Linux.
15709
15710         * 5losinte.ads: Change Linux to GNU/Linux.
15711
15712         * 5lsystem.ads: Change Linux to GNU/Linux.
15713
15714         * 5qosinte.adb: Change Linux to GNU/Linux.
15715
15716         * 5qosinte.ads: Change Linux to GNU/Linux.
15717
15718         * 5qparame.ads: Change Linux to GNU/Linux.
15719
15720         * 5qtaprop.adb: Change Linux to GNU/Linux.
15721
15722         * 5qtaspri.ads: Change Linux to GNU/Linux.
15723         Add 2001 to copyright notice.
15724
15725         * 5vintman.ads: Change Linux to GNU/Linux.
15726         Fix header format.  Add 2001 to copyright notice.
15727
15728         * g-soccon.ads: Change Linux to GNU/Linux.
15729
15730         * g-trasym.ads: Change Linux to GNU/Linux.
15731         Add 2001 to copyright notice.
15732
15733         * memtrack.adb: Change Linux to GNU/Linux.
15734
15735         * s-intman.ads: Change Linux to GNU/Linux.
15736         Add 2001 to copyright notice.  Fix header format.
15737
15738         * s-stache.adb: Change Linux to GNU/Linux.
15739
15740         * adaint.c: Change Linux to GNU/Linux.
15741
15742         * cio.c: Change Linux to GNU/Linux.
15743
15744         * cstreams.c: Change Linux to GNU/Linux.
15745
15746         * init.c: Change Linux to GNU/Linux.
15747
15748         * gmem.c: Change Linux to GNU/Linux.
15749
15750         * tracebak.c: Change Linux to GNU/Linux.
15751
15752
15753 2001-10-02  Geert Bosch  <bosch@gnat.com>
15754
15755         * misc.c (insert_default_attributes): Add dummy version.