OSDN Git Service

* config-lang.in (boot_language): Yes.
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2004-08-10  Richard Henderson  <rth@redhat.com>
2
3         * config-lang.in (boot_language): Yes.
4
5 2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
6
7         * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
8         from complaining on potential uninitialized reference.
9         Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
10         new specification and test explicitly for non-zero return value.
11
12         * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
13         returning C.int, to avoid using a derived boolean type.
14
15         * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
16         Duplicate_Subexpr_No_Checks in preference to direct use of
17         Remove_Side_Effects and New_Copy_Tree.
18         Clear Comes_From_Source on prefix of 'Size attribute reference.
19
20         * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
21         g-socthi-vxworks.adb: Change calls to
22         GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
23         and test explicitly for non-zero return value.
24
25         * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads: 
26         (Is_Socket_In_Set): Declare imported function as returning C.int, to
27         avoid using a derived boolean type.
28
29 2004-08-09  Albert Lee  <lee@gnat.com>
30
31         * system-irix-n32.ads: Refine tasking priority constants for IRIX.
32
33 2004-08-09  Pascal Obry  <obry@gnat.com>
34
35         * gnat_ugn.texi: Document new way to build DLLs on Windows using
36         GCC's -shared option.
37
38         * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
39         Options_2 parameter (options put after object files).
40
41 2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
42
43         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
44         ignore overflows on low and high bounds of an index to also account for
45         differences in signedness between sizetype and gnu_index_subtype.
46         These are as legitimate as the ones caused by a lower TYPE_PRECISION
47         on sizetype.
48
49 2004-08-09  Robert Dewar  <dewar@gnat.com>
50
51         * s-solita.ads, s-solita.adb: Minor reformatting
52
53         * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
54         Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
55         obsolescent section
56         Add note that No_Implicit_Conditionals does not suppress
57         run time constraint checks.
58
59         * vms_conv.ads: Minor reformatting
60
61         * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
62         and necessary for following change).
63         (Mark): Return new format Mark_Id containing sec stack address
64         (Release): Use sec stack address from Mark_Id avoiding Self call
65
66         * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
67         pointer (cleanup and necessary for following change).
68         Define Mark_Id as record containing address of secondary stack, that way
69         Release does not need to find the stack again, decreasing the number of
70         calls to Self and improving efficiency.
71
72         * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
73
74         * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
75         case variable into the individual case branches when possible.
76
77         * sem_ch11.adb: Minor reformatting
78
79         * prj.ads: Correct spelling of suffixs
80
81         * prj-nmsc.adb: Minor reformatting
82         Correct spelling suffixs throughout (also in identifiers)
83
84         * freeze.adb: Minor spelling correction
85
86         * exp_ch2.adb: Cleanups to handling of Current_Value
87         (no functional effect).
88
89         * bld.adb: Correct spelling of suffixs
90
91         * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
92
93 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
94
95         PR ada/15408
96
97         * sem_ch7.adb (Install_Private_Declarations): In the body of the
98         package or of a child, private entities are both immediately_visible
99         and not hidden.
100
101 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
102
103         * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
104         there are no range checks on the value of the literal.
105
106         * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
107         wrapped is the triggering alternative of an asynchronous select, action
108         statements mustbe inserted before the select itself.
109
110         * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
111         case where the prefix is a protected function call.
112         (Resolve_Attribute, case 'Access): The attribute reference on a
113         subprogram is legal in a generic body if the subprogram is declared
114         elsewhere.
115
116 2004-08-09  Vincent Celier  <celier@gnat.com>
117
118         * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
119         languages, otherwise building the library may fail with unresolved
120         symbols.
121         (Compile_Sources): Do not build libraries if -c switch is used
122
123         * gnatlink.adb (Process_Args): New switches -M and -Mmap
124         (Write_Usage): If map file creation is supported, output new switches
125         -M and -Mmap.
126         (Gnatlink): When -M is specified, add the necessary switch(es) to the
127         gcc call, when supported.
128
129         * Makefile.in: Added indepsw.o to the object list for gnatlink
130         Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
131
132         * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
133         indepsw.adb, indepsw.ads: New files.
134
135 2004-08-09  Bernard Banner  <banner@gnat.com>
136
137         * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
138
139         * Makefile.in: add section for vxworks x86
140
141 2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
142
143         * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
144         per-object constrained components where the discriminant is of an
145         Access type.
146         (Build_Record_Init_Proc): Add condition to prevent the inheritance of
147         the parent initialization procedure for derived Unchecked_Unions.
148         Instead, derived Unchecked_Unions build their own initialization
149         procedure.
150         (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
151         Check the body of the subprogram for details.
152         (Freeze_Record_Type): Prevent the inheritance of discriminant checking
153         functions for derived Unchecked_Union types by introducing a condition.
154         Allow the creation of TSS equality functions for Unchecked_Unions.
155         (Make_Eq_Case): Rename formal parameter Node to E in function signature.
156         Add formal parameter Discr to function signature. Discr is used to
157         control the generated case statement for Unchecked_Union types.
158         (Make_Eq_If): Rename formal parameter Node to E in function signature.
159
160         * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
161         Unchecked_Unions.
162         Check the body of the subprogram for details.
163         (Expand_Composite_Equality): Augment composite type equality to include
164         correct handling of Unchecked_Union components.
165         (Expand_N_In): Add condition to detect illegal membership tests when the
166         subtype mark is a constrained Unchecked_Union and the expression lacks
167         inferable discriminants, and build a Raise_Program_Error node.
168         (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
169         to detect types that contain components of unconstrained Unchecked_Union
170         subtype. Add condition to detect equality between types that have an
171         unconstrained Unchecked_Union component, and build a Raise_Program_Error
172         node. Add condition to detect equality between Unchecked_Union types
173         that lack inferable discriminants, and build a Raise_Program_Error node.
174         Otherwise build a TSS equality function call.
175         (Expand_N_Type_Conversion): Add condition to detect illegal conversions
176         from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
177         with the operand lacking inferable discriminants, and build a Raise_
178         Program_Error node.
179         (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
180         composite equality.
181         (Has_Inferable_Discriminants): Implement new predicate for objects and
182         expressions of Unchecked_Union type. Check the body of subprogram for
183         details.
184         (Has_Unconstrained_UU_Components): Add function
185         Component_Is_Unconstrained_UU. It is used to detect whether a single
186         component is of an unconstrained Unchecked_Union subtype. Add function
187         Variant_Is_Unconstrained_UU. It is used to detect whether a single
188         component inside a variant is of an unconstrained Unchecked_Union type.
189
190         * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
191         inferred discriminant values. Add condition to generate a case
192         statement with an inferred discriminant as the switch.
193         (Make_Component_List_Assign): Introduce a Boolean flag that determines
194         the behaviour of the subprogram in the presence of an Unchecked_Union.
195         Add condition to trigger the usage of the inferred discriminant value
196         as the generated case statement switch.
197         (Make_Field_Assign): Introduce a Boolean flag that determines the
198         behaviour of the subprogram in the presence of an Unchecked_Union. Add
199         condition to trigger the usage of the inferred discriminant value as
200         the right-hand side of the generated assignment.
201
202         * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
203         parameter generation when dealing with Unchecked_Unions.
204
205         * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
206         checks for Unchecked_Unions.
207
208         * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
209
210         * exp_attr.adb (Expand_N_Attribute_Reference): Produce
211         Raise_Program_Error nodes for the execution of Read and Write
212         attributes of Unchecked_Union types and the execution of Input and
213         Output attributes of Unchecked_Union types that lack default
214         discriminant values.
215
216         * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
217         Unchecked_Union. Add procedure Check_Component. It is used to inspect
218         per-object constrained components of Unchecked_Unions for being
219         Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
220         check individual components withing a variant.
221
222         * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
223         comparison of Unchecked_Unions.
224         (Resolve_Equality_OP): Remove guard that prevents equality between
225         Unchecked_Unions.
226
227         * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
228         of component subtypes for Unchecked_Union components.
229         (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
230         since it is the actual subtype.
231
232         * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
233         pass of Unchecked_Union subtypes as generic actuals to formal types
234         that lack known_discriminant_parts or that are derived Unchecked_Union
235         types, and do nothing. In any other case, produce an error message.
236
237         * sem_ch3.adb (Analyze_Component_Declaration): Add function
238         Contains_POC. It determines whether a constraint uses the discriminant
239         of an enclosing record type.
240         Add condition to detect per-object constrained component and set the
241         appropriate flag.
242         (Derived_Type_Declaration): Remove guard that prevents derivation from
243         Unchecked_Union types.
244         (Process_Subtype): Remove quard that prevents the creation of Unchecked_
245         Union subtypes.
246
247         * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
248         references to Unchecked_Union discriminants.
249
250         * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
251         formal generation when dealing with Unchecked_Unions.
252         (Set_Actual_Subtypes): Add condition to prevent generation of actual
253         subtypes for Unchecked_Unions.
254
255         * sem_ch7.adb (Analyze_Package_Specification): Add procedure
256         Inspect_Unchecked_Union_Completion. It is used to detect incorrect
257         completions of discriminated partial views by Unchecked_Unions and
258         produce an error message.
259
260 2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
261
262         * trans.c (struct stmt_group): New field, GLOBAL.
263         (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
264         (struct elab_info): New struct.
265         (elab_info_list, gnu_elab_proc_stack): New variables.
266         (Compilation_Unit_to_gnu): New procedure.
267         (gigi): Call it and also handle elaboration procs we've saved.
268         (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
269         global field from parent.
270         (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
271         (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
272         (start_stmt_group): Initialize global field from parent.
273         (add_decl_expr): Set to global for current statement group.
274         (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
275         post.
276
277         * utils.c (global_bindings_p): True when no current_function_decl; no
278         longer check current_binding_level.
279
280 2004-08-09  Ben Brosgol  <brosgol@gnat.com>
281
282         * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
283         choice.
284
285         * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
286
287 2004-08-06  Andreas Schwab  <schwab@suse.de>
288
289         * utils.c (gnat_define_builtin): Remove second parameter of
290         make_decl_rtl.
291         (begin_subprog_body): Likewise.
292
293 2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
294
295         * sem_util.adb (Requires_Transient_Scope): Temporarily disable
296         optimization, not supported by the tree-ssa back-end.
297
298 2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
299
300         * s-mastop-irix.adb: Update comments.
301
302         * a-except.adb (Exception_Information): Raise Constraint_Error if
303         exception Id is Null_Id.
304         This is required behavior, which is more reliably and clearly checked
305         at the top level interface level.
306
307 2004-07-26  Javier Miranda  <miranda@gnat.com>
308
309         * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
310         call if a component has no default_expression and the box is used.
311
312         * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
313         default_expression and you use box, it behaves as if you had declared a
314         stand-alone object.
315         (Resolve_Record_Aggregate): If a component has no default_expression and
316         you use box, it behaves as if you had declared a stand-alone object.
317
318         * sem_ch10.adb (Install_Siblings): Do not make visible the private
319         entities of private-with siblings.
320
321 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
322
323         * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
324         for a component of an itype, set the parent pointer for analysis,
325         there is no list in which to insert it.
326
327         * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
328         bona-fide renamings, not for inherited operations.
329
330         * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
331         actual for a formal that is an access parameter, create local
332         finalization list even if the expression is not an aggregate.
333
334 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
335
336         PR ada/16213
337         * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
338         Diagnose properly illegal subprogram renamings that are library units.
339
340 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
341
342         PR ada/15588
343         * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
344         conversion rewritten as an unchecked conversion, check that original
345         expression is a variable.
346
347         * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
348         unchecked_conversion, create new node rather than rewriting in place,
349         to preserve original construct.
350
351 2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
352
353         * gigi.h (gnat_expand_body): Deleted.
354
355         * Make-lang.in: (trans.o): Depends on function.h.
356
357         * misc.c: (gnat_expand_body): Moved to here.
358
359         * trans.c (gnat_expand_body_1): Deleted.
360         (gnat_expand_body): Moved from here.
361         (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
362         (add_stmt): Check for marked visited with global_bindings_p.
363         (gnat_gimplify_expr, case COMPONENT_REF): New case.
364         (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
365
366         * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
367         VIEW_CONVERT_EXPR if not operation type.
368
369         * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
370         fat pointer.
371
372         * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
373         changes: reformatting of negation operators, removing unneeded
374         inequality comparison with zero, converting equality comparisons with
375         zero to negations, changing int/0/1 to bool/false/true, replace calls
376         to gigi_abort with abort, and various other similar changes.
377
378 2004-07-26  Vincent Celier  <celier@gnat.com>
379
380         * gnatcmd.adb (GNATCmd): Add processing for new built-in command
381         "setup".
382
383         * make.adb (Gnatmake): Fail when a library is not present and there is
384         no object directory.
385
386         * mlib-prj.adb (Check_Library): No need to check if the library needs
387         to be rebuilt if there is no object directory, hence no object files
388         to build the library.
389
390         * opt.ads (Setup_Projects): New Boolean flag.
391
392         * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
393         Location.
394         Create directory when Kind /= "" and in "gnat setup". Report error if
395         directory cannot be created.
396         (Ada_Check): Create library interface copy dir if it does not exist
397         and we are in "gnat setup".
398         (Find_Sources): No error if in "gnat setup" and no Ada sources were
399         found.
400         (Language_Independent_Check): Create object directory, exec directory
401         and/or library directory if they do not exist and we are in
402         "gnat setup".
403
404         * vms_conv.ads: (Command_Type): New command Setup.
405
406         * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
407
408         * vms_data.ads: Add qualifiers/switches for new built-in command
409         "setup".
410
411 2004-07-25  Richard Henderson  <rth@redhat.com>
412
413         * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
414         DECL_IGNORED_P on RESULT_DECL.
415
416 2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
417
418         * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
419         allocation and potentially overflowing update with
420         Tailored_Exception_Information. Use the sec-stack free procedural
421         interface to output Exception_Information instead.
422
423         * a-except.adb (To_Stderr): New subprogram for character, and string
424         version moved from a-exextr to be visible from other separate units.
425         (Tailored_Exception_Information): Remove the procedural version,
426         previously used by the default Last_Chance_Handler and not any more.
427         Adjust various comments.
428
429         * a-exexda.adb: Generalize the exception information procedural
430         interface, to minimize the use of secondary stack and the need for
431         local buffers when the info is to be output to stderr:
432         (Address_Image): Removed.
433         (Append_Info_Character): New subprogram, checking for overflows and
434         outputing to stderr if buffer to fill is of length 0.
435         (Append_Info_String): Output to stderr if buffer to fill is of length 0.
436         (Append_Info_Address, Append_Info_Exception_Name,
437         Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
438         Append_Info_Basic_Exception_Traceback,
439         Append_Info_Exception_Information): New subprograms.
440         (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
441         (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
442         Exception_Info_Maxlength, Exception_Name_Length,
443         Exception_Message_Length): New subprograms.
444         (Exception_Information): Use Append_Info_Exception_Information.
445         (Tailored_Exception_Information): Use
446         Append_Info_Basic_Exception_Information.
447         Export services for the default Last_Chance_Handler.
448
449         * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
450         other separate units.
451
452 2004-07-20  Vincent Celier  <celier@gnat.com>
453
454         * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
455
456 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
457
458         * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
459         emit itype references for the designated types of component types that
460         are declared outside of the full record declaration, and that may
461         denote a partial view of that record type.
462
463 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
464
465         PR ada/15607
466         * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
467         which is the designated type in an access component declaration, to the
468         list of incomplete dependents of the parent type, to avoid elaboration
469         issues with out-of-scope subtypes.
470         (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
471         full view of the parent.
472
473 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
474
475         PR ada/15610
476         * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
477         entities that are hidden, such as references to generic actuals
478         outside an instance.
479
480 2004-07-20  Javier Miranda  <miranda@gnat.com>
481
482         * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
483         support to the new notation.
484         (Analyze_Selected_Component): Add call to Try_Object_Operation.
485
486 2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
487
488         * s-taprob.adb: Adding the elaboration code required for initializing
489         the tasking soft links that are common to the full and the restricted
490         run times.
491
492         * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
493         restricted run time has been moved to the package
494         System.Soft_Links.Tasking.
495
496         * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
497         restricted run time has been moved to the package
498         System.Soft_Links.Tasking.
499
500         * Makefile.rtl: Add entry for s-solita.o in run-time library list.
501
502         * s-solita.ads, s-solita.adb: New files.
503
504 2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
505
506         * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
507         Case_Statement_to_gnu): Split off from gnat_to_gnu.
508         (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
509         Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
510         Exception_Handler_to_gnu_zcx): Likewise.
511
512 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
513
514         * gigi.h (builtin_function): Declare.
515
516 2004-07-15  Robert Dewar  <dewar@gnat.com>
517
518         * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
519         reformatting
520
521         * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
522         access values as an example of a warning.
523
524         * gnat_rm.texi: Document new attribute Has_Access_Values
525
526         * gnat-style.texi: Document that box comments belong on nested
527         subprograms
528
529         * sem_util.ads (Has_Access_Values): Improved documentation
530
531         * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
532
533         * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
534         (Process_Interface_Name): Call to this new procedure
535         (Set_Extended_Import_Export_External_Name): Call to this new procedure
536
537         * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
538
539         * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
540
541         * einfo.ads: Minor comment typo fixed
542
543 2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
544
545         * snames.adb: Add _atcb.
546
547         * snames.ads: Add Name_uATCB.
548
549         * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
550         (in the expanded code) when using the restricted run time.
551
552         * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
553         a in parameter in order to allow ATCBs to be preallocated (in the
554         expanded code).
555
556         * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
557         order to allow ATCBs to be preallocated. In case of error, the ATCB is
558         deallocated in System.Tasking.Stages.
559
560         * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
561         order to allow ATCBs to be preallocated.
562
563         * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
564         here. It was previously done in Initialize_ATCB.
565
566         * rtsfind.ads: Make the Ada_Task_Control_Block visible.
567
568         * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
569         Restricted run time.
570
571         * exp_ch3.adb: When using the Restricted run time, pass the
572         preallocated Ada_Task_Control_Block when creating a task.
573
574 2004-07-15  Ed Schonberg  <schonberg@gnat.com>
575
576         * sem_util.adb (Normalize_Actuals): If there are no actuals on a
577         function call that is itself an actual in an enclosing call, diagnose
578         problem here rather than assuming that resolution will catch it.
579
580         * sem_ch7.adb (Analyze_Package_Specification): If the specification is
581         the local copy of a generic unit for a formal package, and the generic
582         is a child unit, install private part of ancestors before compiling
583         private part of spec.
584
585         * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
586         use scope entities rather than tree structures, to handle properly
587         parent units that are instances rewritten as bodies for inlining
588         purposes.
589
590         * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
591         Remove_Parents): Handle properly a parent unit that is an
592         instantiation, when the unit has been rewritten as a body for inlining
593         purposes.
594
595         * par.adb (Goto_List): Global variable to collect goto statements in a
596         given unit, for use in detecting natural loops.
597
598         * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
599         use in detecting natural loops.
600
601         * par-labl.adb (Find_Natural_Loops): Recognize loops create by
602         backwards goto's, and rewrite as a infinite loop, to improve locality
603         of temporaries.
604
605         * exp_util.adb (Force_Evaluation): Recognize a left-hand side
606         subcomponent that includes an indexed reference, to prevent the
607         generation of copies that would miscompile the desired assignment
608         statement.
609         (Build_Task_Image_Decls): Add a numeric suffix to
610         generated name for string variable, to avoid spurious conflicts with
611         the name of the type of a single protected object.
612
613         * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
614         loop with an explicit exit statement, to avoid generating an
615         out-of-range value with 'Succ leading to spurious constraint_errors
616         when compiling with -gnatVo.
617
618 2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
619
620         * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
621         might not be analyzed yet, even if its Etype is already set (case of an
622         unchecked conversion built using Unchecked_Convert_To, for example).
623         If the prefix has already been analyzed, this will be a nop anyway.
624
625         * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
626         controller type, or an assignment of a record type with controlled
627         components, copy only user data, and leave the finalization chain
628         pointers untouched.
629
630 2004-07-15  Vincent Celier  <celier@gnat.com>
631
632         * make.adb (Collect_Arguments): Improve error message when attempting
633         to compile a source not part of any project, when -x is not used.
634
635         * prj.ads: (Defined_Variable_Kind): New subtype
636
637         * prj-attr.adb (Register_New_Package): Two new procedures to register
638         a package with or without its attributes.
639         (Register_New_Attribute): Mew procedure to register a new attribute in a
640         package.
641         New attribute oriented subprograms: Attribute_Node_Id_Of,
642         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
643         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
644         Next_Attribute.
645         New package oriented subprograms: Package_Node_Id_Of,
646         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
647
648         * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
649         type.
650         (Package_Node_Id): Now a private, self initialized type
651         (Register_New_Package): New procedure to register a package with its
652         attributes.
653         New attribute oriented subprograms: Attribute_Node_Id_Of,
654         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
655         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
656         Next_Attribute.
657         New package oriented subprograms: Package_Node_Id_Of,
658         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
659
660         * prj-dect.adb (Parse_Attribute_Declaration,
661         Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
662
663         * prj-makr.adb (Make): Parse existing project file before creating
664         other files. Fail if there was an error during parsing.
665
666         * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
667         new spec of Prj.Attr.
668
669         * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
670         to new spec of Prj.Attr.
671
672 2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
673
674         * utils2.c: Fix typo in comment.
675
676 2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
677
678         * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
679         * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
680
681 2004-07-14  Andreas Schwab  <schwab@suse.de>
682
683         * trans.c (gnat_init_stmt_group): Remove duplicate definition.
684
685 2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
686
687         * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
688         object type.
689         (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
690         TYPE_STUB_DECL.
691
692         * misc.c (gnat_types_compatible_p): New function.
693         (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
694         (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
695
696         * trans.c (gigi): Move processing of main N_Compilation_Unit here.
697         (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
698         (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
699         (mark_visited): Don't mark dummy type.
700         (tree_transform <N_Procedure_Call_Statement>): Unless this is an In     
701         parameter, we must remove any LJM building from GNU_NAME.
702         (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
703         (pos_to_constructor): Use int_const_binop.
704         (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
705         PARM_DECL.
706
707         * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
708         (gnat_pushlevel): Set TREE_USE on BLOCK node.
709         (gnat_install_builtins): Add __builtin_memset.
710
711 2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
712
713         * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
714         for a renaming, stabilize the initialization expression if we are at a
715         local level.  At the local level, uses of the renaming may be performed
716         by a direct dereference of the initializing expression, and we don't
717         want possible variables there to be evaluated for every use.
718
719         * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
720         Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
721         them on the way.  Account for the fact that we may introduce side
722         effects in the process.
723
724 2004-07-13  Richard Henderson  <rth@redhat.com>
725
726         * misc.c (default_pass_by_ref): Use pass_by_reference.
727
728 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
729
730         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
731         LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
732
733 2004-07-08  Richard Henderson  <rth@redhat.com>
734
735         * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
736         commentary.
737
738 2004-07-06  Vincent Celier  <celier@gnat.com>
739
740         * vms_conv.ads: Minor reformatting.
741         Alphabetical order for enumerated values of type Command_Type, to have
742         the command in alphabetical order for the usage.
743
744         * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
745         the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
746
747         * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
748
749         * makegpr.adb (Global_Archive_Exists): New global Boolean variable
750         (Add_Archive_Path): Only add the global archive if there is one.
751         (Build_Global_Archive): Set Global_Archive_Exists depending if there is
752         or not any object file to put in the global archive, and don't build
753         a global archive if there is none.
754         (X_Switches): New table
755         (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
756         in the X_Switches table, if any.
757         (Initialize): Make sure the X_Switches table is empty
758         (Scan_Arg): Record -X switches in table X_Switches
759
760         * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
761
762         * make.adb: Minor comment fix
763
764         * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
765         invoked with directory information, add the directory in front of the
766         path.
767
768         * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
769         invoked with directory information, add the directory in front of the
770         path.
771
772         * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
773         when Keep_Temporary_Files is False.
774         (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
775         directory information, add the directory in front of the path.
776         When not on VMS, handle new switch -dn before the command to set
777         Keep_Temporary_Files to True.
778         (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
779         everywhere.
780
781         * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
782         invoked with directory information, add the directory in front of the
783         path.
784
785 2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
786
787         * snames.ads, snames.adb (Name_Stub): New name for the distributed
788         systems annex.
789
790         * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
791         New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
792
793         * g-socket.adb (To_Timeval): Fix incorrect conversion of
794         Selector_Duration to Timeval for the case of 0.0.
795
796         * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
797         documentation from Evolve_And_Then.
798
799 2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
800
801         * s-taprop-tru64.adb, s-taprop-os2.adb,
802         s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
803
804 2004-07-06  Robert Dewar  <dewar@gnat.com>
805
806         * s-osinte-hpux.ads, s-osinte-freebsd.ads,
807         s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
808         s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
809         s-interr-sigaction.adb, s-taprop-irix-athread.adb,
810         s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
811         s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
812         s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
813         s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
814         a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
815         a-tags.ads, bindgen.ads, checks.adb, checks.adb,
816         csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
817         exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
818         g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
819         i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
820         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
821         sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
822         sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
823         s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
824         s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
825         s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
826         vms_data.ads: Minor reformatting,
827         Fix bad box comment format.
828
829         * gnat_rm.texi: Fix minor grammatical error
830
831         * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
832
833         * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
834         more cases of discriminated records to be recognized as not needing a
835         secondary stack.
836         (Has_Access_Values): New function.
837
838         * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
839
840         * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
841         Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
842         with LRM terminology).
843         Change terminology in comments primitive type => elementary type.
844
845 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
846
847         PR ada/15602
848         * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
849         parameters do not impose any requirements on the presence of a body.
850
851 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
852
853         PR ada/15593
854         * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
855         compilation unit and is in an open scope at the point of instantiation,
856         assume that a body may be present later.
857
858 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
859
860         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
861         Improve error message when specified size is not supported.
862
863         * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
864         is never a primitive operation.
865
866 2004-07-05  Andreas Schwab  <schwab@suse.de>
867
868         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
869         RECORD_OR_UNION_CHECK.
870         (TYPE_CONTAINS_TEMPLATE_P): Likewise.
871
872 2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
873
874         * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
875         dependency on xgnatugn, instead build it via a submake.
876         (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
877
878 2004-07-04  Richard Henderson  <rth@redhat.com>
879
880         * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
881
882 2004-07-01  Richard Henderson  <rth@redhat.com>
883
884         * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
885         * utils.c (max_size): Likewise.
886
887 2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
888
889         * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
890         and rest_of_type_compilation; add arg to create_*_decl.
891         (annotate_decl_with_node): Deleted.
892         (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
893         * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
894         (get_current_block_context, gnat_pushdecl): New declarations.
895         (gnat_init_stmt_group): Likewise.
896         (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
897         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
898         (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
899         (gnat_init): Call gnat_init_stmt_group.
900         * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
901         (gnu_pending_elaboration_list): Deleted.
902         (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
903         (gigi): Rearrange initialization calls and move some to last above.
904         (gnat_to_gnu): If statement and not in procedure, go into elab proc.
905         Delete calls to add_decl_expr; add arg to create_*_decl.
906         (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
907         (gnat_to_gnu, case N_Subprogram_Body): Move some code to 
908         begin_subprog_body and call it.
909         Don't push and pop ggc context.
910         (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
911         (add_stmt): Remove handling of DECL_EXPR from here.
912         If not in function, mark visited.
913         (add_decl_expr): Put global at top level.
914         Check for cases of DECL_INITIAL we have to handle here.
915         (process_type): Add extra arg to create_type_decl.
916         (build_unit_elab): Rework to just gimplify.
917         * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
918         (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
919         (get_pending_elaborations, pending_elaborations_p): Likewise.
920         (push_pending_elaborations, pop_pending_elaborations): Likewise.
921         (get_elaboration_location, insert_elaboration_list): Likewise.
922         (gnat_binding_level): Renamed from ada_binding_level.
923         (init_gnat_to_gnu): Don't clear pending_elaborations.
924         (global_bindings_p): Treat as global if no current_binding_level.
925         (set_current_block_context): New function.
926         (gnat_pushdecl): Renamed from pushdecl; major rework.
927         All callers changed.
928         (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
929         (finish_record_type): Call call pushdecl for stub decl.
930         (function_nesting_depth): Deleted.
931         (begin_subprog_body): Delete obsolete code.
932         * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
933         
934 2004-06-28  Robert Dewar  <dewar@gnat.com>
935
936         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
937         mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
938         mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
939         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
940         a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
941
942         * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
943         deal with problem of inefficient slices on machines with strict
944         alignment, when the slice is a component of a composite.
945
946         * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
947         machines, we need the check there as well.
948
949 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
950
951         * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
952         determine safe copying direction for overlapping slice assignments
953         when component is controlled.
954
955         * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
956         formal derived type in the actual for a formal package are visible in
957         the enclosing instance.
958
959 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
960
961         PR ada/15600
962         * sem_util.adb (Trace_Components): Diagnose properly an illegal
963         circularity involving a private type whose completion includes a
964         self-referential component.
965         (Enter_Name): Use Is_Inherited_Operation to distinguish a source
966         renaming or an instantiation from an implicit derived operation.
967
968 2004-06-28  Pascal Obry  <obry@gnat.com>
969
970         * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
971         DLL.
972         (Library_File_Name_For): Idem.
973
974 2004-06-28  Matthew Gingell  <gingell@gnat.com>
975
976         * g-traceb.ads: Add explanatory note on the format of addresses
977         expected by addr2line.
978
979 2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
980
981         * Makefile.in: Force debugging information on s-tasdeb.adb,
982         a-except.adb and s-assert.adb needed by the debugger.
983
984 2004-06-28  Vincent Celier  <celier@gnat.com>
985
986         * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
987         Need_To_Build_Lib.
988         (Gnatmake): Ditto.
989
990         * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
991
992         * prj.adb: Minor reformatting
993         (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
994
995         * prj.ads: Comment updates
996         Minor reformatting
997         (Project_Data): Change Flag1 to Need_To_Build_Lib.
998         Remove Flag2: not used.
999
1000         * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
1001         declaration.
1002
1003         * gnat_ugn.texi: Put a "null;" declaration in one project file example
1004
1005         * gnat_rm.texi: Document Empty declarations "null;".
1006
1007         * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
1008         front of the linker options.
1009         (Link_Foreign): Put the global archives and the libraries in front of
1010         the linker options.
1011
1012 2004-06-28  Javier Miranda  <miranda@gnat.com>
1013
1014         * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
1015         (RTU_Loaded): Code cleanup
1016         (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
1017         withed predefined units.
1018
1019         * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
1020         explicitly withed predefined units.
1021         Fix typo in comment
1022
1023         * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
1024         explicitly withed predefined units.
1025
1026 2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1027
1028         * ada-tree.def (DECL_STMT): Deleted.
1029         * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
1030         (DECL_STMT_VAR): Deleted.
1031         * decl.c: add_decl_stmt now add_decl_expr.
1032         * gigi.h: Likewise.
1033         * trans.c: Likewise.
1034         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
1035         (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
1036         (add_stmt): Only handle padded type here.
1037         (add_stmt_with_node): Allow gnat_node to not be present.
1038         (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
1039         (gnat_gimplify_stmt, case DECL_STMT): Deleted.
1040         (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
1041         make a SAVE_EXPR for the entire fat pointer.
1042         * utils.c (pushdecl): Walk a DECL_EXPR in global case.
1043         (create_index_type): Make a DECL_EXPR.
1044         (end_subprog_body): Don't call allocate_struct_function here but
1045         do clear cfun.
1046
1047 2004-06-25  Pascal Obry  <obry@gnat.com>
1048
1049         * makegpr.adb (Build_Library): Remove parameter Lib_Address and
1050         Relocatable from Build_Dynamic_Library call.
1051
1052         * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
1053         Relocatable are now synonym.
1054
1055         * Makefile.in: Use s-parame-mingw.adb on MingW platform.
1056
1057         * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
1058         Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
1059         call.
1060
1061         * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
1062         Lib_Address and Relocatable.
1063         (Default_DLL_Address): Removed.
1064
1065         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, 
1066         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, 
1067         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
1068         (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
1069         (Default_DLL_Address): Removed.
1070
1071         * mlib-tgt-mingw.adb: Ditto.
1072         (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
1073
1074         * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
1075         the initial thread stack size.
1076
1077         * a-strmap.ads: Move package L to private part as it is not used in
1078         the spec. Found while reading code.
1079
1080 2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
1081
1082         * tracebak.c: Introduce support for a GCC infrastructure based
1083         implementation of __gnat_backtrace.
1084
1085         * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
1086         any more. Use accessors instead. This eases maintenance and relaxes
1087         some alignment constraints.
1088         (_GNAT_Exception structure): Remove the Ada specific fields
1089         (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
1090         a-exexpr.adb.
1091         (is_handled_by, __gnat_eh_personality): Replace component references to
1092         exception structure by use of the new accessors.
1093
1094         * init.c (__gnat_initialize): Adjust comments to match the just
1095         reverted meaning of the -static link-time option.
1096
1097         * adaint.c (convert_addresses): Arrange not to define a stub for
1098         mips-irix any more, as we now want to rely on a real version from a
1099         recent libaddr2line.
1100
1101         * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
1102         the personality routine can use them and not have to rely on a C
1103         counterpart of the record anymore. This simplifies maintenance and
1104         relaxes the constraint of having Standard'Maximum_Alignment match
1105         BIGGEST_ALIGNMENT.
1106         Update comments, and add a section on the common header alignment issue.
1107
1108 2004-06-25  Geert Bosch  <bosch@gnat.com>
1109
1110         * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
1111         polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
1112
1113 2004-06-25  Robert Dewar  <dewar@gnat.com>
1114
1115         * gnat_rm.texi: Fix section on component clauses to indicate that the
1116         restriction on byte boundary placement still applies for bit packed
1117         arrays.
1118         Add comment on stack usage from Initialize_Scalars
1119
1120         * gnat_ugn.texi: Add documentation for -gnatyLnnn
1121
1122         * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
1123         limiting nesting level.
1124
1125         * usage.adb: Add line for -gnatyLnnn switch
1126
1127         * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
1128         sem_ch13.adb, exp_aggr.adb: Minor reformatting
1129
1130         * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
1131         type as well as on the subtype. This corrects a problem in freeze in
1132         setting alignments of atomic types.
1133
1134         * sem_eval.ads: Minor comment typo fixed
1135
1136         * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
1137         level.  Minor reformatting.
1138
1139         * fname.adb (Is_Predefined_File_Name): Require a letter after the
1140         minus sign. This means that file names like a--b.adb will not be
1141         considered predefined.
1142
1143         * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
1144         record Test new flag and give diagnostic for bad component clause.
1145         (Freeze_Entity): Set alignment of array from component alignment in
1146         cases where this is safe to do.
1147
1148         * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
1149         arrays.
1150
1151         * cstand.adb: (Create_Standard): Set alignment of String to 1
1152
1153         * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
1154
1155         * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
1156         code in the common constrained array cases.
1157
1158         * a-storio.adb: Change implementation to avoid possible alignment
1159         problems on machines requiring strict alignment (data should be moved
1160         as type Buffer, not type Elmt).
1161
1162         * checks.adb (Apply_Array_Size_Check): Improve these checks by
1163         killing the overflow checks which we really do not need (64-bits is
1164         enough).
1165
1166 2004-06-25  Vincent Celier  <celier@gnat.com>
1167
1168         * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
1169         (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
1170         inconditionally for the main project.
1171         (Recursive_Add_Archives.Add_Archive_Path): New procedure
1172         (Link_Executables.Check_Time_Stamps): New procedure
1173         (Link_Executables.Link_Foreign): New procedure
1174         Changes made to reduce nesting level of this package
1175         (Check): New procedure
1176         (Add_Switches): When not in quiet output, check that a switch is not
1177         the concatenation of several valid switches. If it is, issue a warning.
1178         (Build_Global_Archive): If the global archive is rebuilt, linking need
1179         to be done.
1180         (Compile_Sources): Rebuilding a library archive does not imply
1181         rebuilding the global archive.
1182         (Build_Global_Archive): New procedure
1183         (Build_Library): New name for Build_Archive, now only for library
1184         project
1185         (Check_Archive_Builder): New procedure
1186         (Create_Global_Archive_Dependency_File): New procedure
1187         (Gprmake): Call Build_Global_Archive before linking
1188         * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
1189         throughout.
1190         (Scan_Arg): Display the Copyright notice when -v is used
1191
1192         * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
1193         for gnatls.
1194
1195         * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
1196         COMPILE.
1197         Add new GNAT LIST qualifier /FILES=
1198         Added qualifier /DIRECTORY= to GNAT METRIC
1199         Added qualifier /FILES= to GNAT METRIC
1200         Added qualifier /FILES to GNAT PRETTY
1201
1202         * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
1203         to take into account both versions of the switch.
1204
1205         * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
1206         always be the last switch to the gcc driver. Disable switch storing so
1207         that switches automatically added by the gcc driver are not put in the
1208         ALI file.
1209
1210         * prj.adb (Project_Empty): Take into account changes in components of
1211         Project_Data.
1212
1213         * prj.ads (Languages_Processed): New enumaration value All_Languages.
1214
1215         * prj.ads (Project_Data): Remove component Lib_Elaboration: never
1216         used. Split Boolean component Ada_Sources_Present in two Boolean
1217         components Ada_Sources_Present and Other_Sources_Present.
1218         Minor reformatting
1219
1220         * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
1221         instead of Sources_Present.
1222         (Set_Ada_Paths.Add.Recursive_Add): Ditto
1223
1224         * prj-nmsc.adb: Minor reformatting
1225         (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
1226         (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
1227         Check_Ada_Naming_Scheme.
1228         Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
1229         throughout.
1230
1231         * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
1232         In_Limited.
1233         Make sure that all cycles where there is at least one "limited with"
1234         are detected.
1235         (Parse_Single_Project): New Boolean parameter In_Limited
1236
1237         * prj-proc.adb (Recursive_Check): When Process_Languages is
1238         All_Languages, call first Prj.Nmsc.Ada_Check, then
1239         Prj.Nmsc.Other_Languages_Check.
1240
1241         * prj-proc.adb (Process): Use Ada_Sources_Present or
1242         Other_Sources_Present (instead of Sources_Present) depending on
1243         Process_Languages.
1244
1245         * lang-specs.h: Keep -g and -m switches in the same order, and as the
1246         last switches.
1247
1248         * lib.adb (Switch_Storing_Enabled): New global Boolean flag
1249         (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
1250         False.
1251         (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
1252         False.
1253
1254         * lib.ads (Disable_Switch_Storing): New procedure.
1255
1256         * make.adb: Modifications to reduce nesting level of this package.
1257         (Check_Standard_Library): New procedure
1258         (Gnatmake.Check_Mains): New procedure
1259         (Gnatmake.Create_Binder_Mapping_File): New procedure
1260         (Compile_Sources.Compile): Add switch -gnatez as the last option
1261         (Display): Never display -gnatez
1262
1263         * Makefile.generic: 
1264         When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
1265
1266         * gnatcmd.adb (Check_Project): New function
1267         (Process_Link): New procedure to reduce nesting depth
1268         (Check_Files): New procedure to reduce the nesting depth.
1269         For GNAT METRIC, include the inherited sources in extending projects.
1270         (GNATCmd): When GNAT LS is invoked with a project file and no files,
1271         add the list of files from the sources of the project file. If this list
1272         is too long, put it in a temp text files and use switch -files=
1273         (Delete_Temp_Config_Files): Delete the temp text file that contains
1274         a list of source for gnatpp or gnatmetric, if one has been created.
1275         (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
1276         in the project file is too large, create a temporary text file that
1277         list them and pass it to the tool with "-files=<temp text file>".
1278         (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
1279
1280         * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
1281         generated file is in not in Ada.
1282
1283         * gnatls.adb: Remove all parameters And_Save that are no longer used.
1284         (Scan_Ls_Arg): Add processing for -files=
1285         (Usage): Add line for -files=
1286
1287         * g-os_lib.adb (On_Windows): New global constant Boolean flag
1288         (Normalize_Pathname): When on Windows and the path starts with a
1289         directory separator, make sure that the resulting path will start with
1290         a drive letter.
1291
1292         * clean.adb (Clean_Archive): New procedure
1293         (Clean_Project): When there is non-Ada code, delete the global archive,
1294         the archive dependency files, the object files and their dependency
1295         files, if they exist.
1296         (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
1297
1298 2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
1299
1300         * sinfo.ads: Fix typo in comment.
1301
1302         * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
1303         the TSS for remote access-to-subprogram types, since these TSS are
1304         always present once the type has been analyzed.
1305         (RAS_E_Dereference): Same.
1306
1307         * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
1308         reference raises Bad_Attribute, mark the reference as analyzed so the
1309         node (and any children resulting from rewrites that could have occurred
1310         during the analysis that ultimately failed) is not analyzed again.
1311
1312         * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
1313
1314         * exp_dist.adb: Minor comment fix.
1315
1316         * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
1317         type is an anonymous access type, no unchecked deallocation of the
1318         allocated object can occur. If the object is controlled, attach it with
1319         a count of 1. This allows attachment to the Global_Final_List, if
1320         no other relevant list is available.
1321         (Get_Allocator_Final_List): For an anonymous access type that is
1322         the type of a discriminant or record component, the corresponding
1323         finalisation list is the one of the scope of the type.
1324
1325 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
1326
1327         * sem_ch3.adb (Replace_Type): When computing the signature of an
1328         inherited subprogram, use the first subtype if the derived type
1329         declaration has no constraint.
1330
1331         * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
1332         before applying previous optimization. Minor code cleanup.
1333
1334         * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
1335         placed at the beginning of an unpacked record without explicit
1336         alignment, a slice of it will be aligned and does not need a copy when
1337         used as an actual.
1338
1339 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
1340
1341         PR ada/15591
1342         PR ada/15592
1343         * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
1344         reference is written with expressions mimicking parameters.
1345
1346 2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
1347
1348         PR ada/15589
1349         * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
1350         STEP 2a. The constraints of a full type declaration of a derived record
1351         type are checked for conformance with those declared in the
1352         corresponding private extension declaration. The message
1353         "not conformant with previous declaration" is emitted if an error is
1354         detected.
1355
1356 2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
1357
1358         * g-traceb.ads: Document the need for -E binder switch in the spec.
1359
1360         * g-trasym.ads: Document the need for -E binder switch in the spec.
1361
1362 2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
1363
1364         * sem_prag.adb: Add handling of pragma Detect_Blocking.
1365
1366         * snames.h, snames.ads, snames.adb: Add entry for pragma
1367         Detect_Blocking.
1368
1369         * s-rident.ads: Change reference to pragma Detect_Blocking.
1370
1371         * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
1372         system.ads.
1373
1374         * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
1375         to indicate whether pragma Detect_Blocking is active.
1376
1377         * par-prag.adb: Add entry for pragma Detect_Blocking.
1378
1379         * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
1380         of not handling WITH.
1381         Note that this replaces the previous update which was incorrect.
1382
1383 2004-06-25  Javier Miranda  <miranda@gnat.com>
1384
1385         * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
1386         use-clauses to have a clean environment.
1387
1388         * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
1389         the installation of the use-clauses to stablish a clean environment in
1390         case of compilation of a separate unit; otherwise the call to
1391         use_one_package is protected by the barrier Applicable_Use.
1392
1393         * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
1394         the installation of the use-clauses to stablish a clean environment in
1395         case of compilation of a separate unit.
1396         (End_Use_Clauses): Minor comment cleanup.
1397
1398 2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
1399
1400         * gnat_ugn.texi: Add description of the gnatpp 'files' switch
1401
1402 2004-06-23  Richard Henderson  <rth@redhat.com>
1403
1404         * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
1405
1406 2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1407
1408         * decl.c (elaborate_expression, elaborate_expression_1): Arguments
1409         now bool instead of int.
1410         (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
1411         * trans.c (gnu_switch_label_stack): New function.
1412         (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
1413         elaboration of renamed entity returns.
1414         (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
1415         (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
1416         (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
1417         (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
1418         DECL_SIZE_UNIT and simplify variable-sized case.
1419         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
1420         Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
1421         (gnat_stabilize_reference): Add arg to COMPONENT_REF.
1422         (build_unit_elab): Disable for now.
1423         * utils.c (mark_visited): New function.
1424         (pushdecl): Walk tree to call it for global decl.
1425         (update_pointer_to): Update all variants of pointer and ref types.
1426         Add arg to COMPONENT_REF.
1427         (convert): Likewise.
1428         Move check for converting between variants lower down.
1429         * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
1430         (build_allocator): Don't force type of MODIFY_EXPR.
1431         (gnat_mark_addressable, case VAR_DECL): Unconditionally call
1432         put_var_into_stack.
1433
1434 2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1435
1436         * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
1437         * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
1438         * decl.c (gnat_to_gnu_entity): Also set force_global for imported
1439         subprograms.
1440         * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
1441         all callers changed.
1442         (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
1443         the way that EXIT_STMT finds the loop label.
1444         (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
1445         (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
1446         (add_stmt): Use annotate_with_locus insted of setting directly.
1447         (pos_to_construct): Set TREE_PURPOSE of each entry to index.
1448         (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
1449         * utils.c (gnat_install_builtins): Install __builtin_memcmp.
1450         (build_vms_descriptor): Add extra args to ARRAY_REF.
1451         (convert): Use VIEW_CONVERT_EXPR between aggregate types.
1452         * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
1453         New cases.
1454         (build_binary_op): Don't make explicit CONVERT_EXPR.
1455         Add extra rgs to ARRAY_REF.
1456
1457 2004-06-14  Pascal Obry  <obry@gnat.com>
1458
1459         * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
1460         Windows.  Fix minor typo.
1461
1462         * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
1463         which is now supported on Windows. With this implementation using the
1464         Library Project feature is no different on Windows than on UNIX.
1465
1466 2004-06-14  Vincent Celier  <celier@gnat.com>
1467
1468         * makegpr.adb (Compile_Sources): Nothing to do when there are no
1469         non-Ada sources.
1470
1471         * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
1472
1473         * prj-part.adb (Parse_Single_Project): When a duplicate project name is
1474         found, show the project name and the path of the previously parsed
1475         project file.
1476
1477 2004-06-14  Ed Schonberg  <schonberg@gnat.com>
1478
1479         * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
1480         array, avoid copying the actual before the call.
1481
1482 2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
1483
1484         * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
1485         Instead, allocate memory on worst-case alignment assumptions, and then
1486         return an aligned address within the allocated zone.
1487
1488 2004-06-14  Robert Dewar  <dewar@gnat.com>
1489
1490         * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
1491         elab entities in predefined units in No_Run_Time_Mode.
1492         (Gen_Adainit_C): Same fix
1493         (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
1494         units in No_Run_Time_Mode
1495         (Gen_Elab_Calls_C): Same fix
1496
1497         * symbols-vms-alpha.adb: Minor reformatting
1498
1499         * g-debpoo.ads: Minor reformatting
1500
1501         * lib.adb (In_Same_Extended_Unit): Version working on node id's
1502
1503         * lib.ads (In_Same_Extended_Unit): Version working on node id's
1504
1505         * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
1506         working on nodes.
1507
1508         * make.adb: Minor reformatting
1509
1510         * par-ch12.adb: Minor reformatting
1511
1512         * par-prag.adb: Add dummy entry for pragma Profile_Warnings
1513
1514         * prj-strt.adb: Minor reformatting
1515
1516         * restrict.ads, restrict.adb: Redo handling of profile restrictions to
1517         be more general.
1518
1519         * sem_attr.adb: Minor reformatting
1520
1521         * sem_ch7.adb: Minor reformatting
1522
1523         * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
1524         for type in the same unit as the object declaration.
1525
1526         * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
1527         static string expressions and not just string literals.
1528         Minor reformatting
1529         (Set_Warning): Reset restriction warning flag for restriction pragma
1530         Implement pragma Profile_Warnings
1531         Implement pragma Profile (Restricted)
1532         Give obolescent messages for old restrictions and pragmas
1533
1534         * snames.h, snames.ads, snames.adb: Add new entry for pragma
1535         Profile_Warnings.
1536
1537         * s-rident.ads: Add declarations for restrictions required by profile
1538         Restricted and profile Ravenscar.
1539
1540         * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
1541
1542         * gnat_ugn.texi: Correct some missing entries in the list of GNAT
1543         configuration pragmas.
1544
1545 2004-06-11  Vincent Celier  <celier@gnat.com>
1546
1547         * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
1548         gnatsym, when symbol policy is Restricted.
1549
1550         * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
1551         gnatsym, when symbol policy is Restricted.
1552
1553         * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
1554         read the symbol file.
1555         (Finalize): Fail in symbol policy Restricted if a symbol in the original
1556         symbol file is not in the object files. Do not create a new symbol file
1557         when symbol policy is Restricted.
1558
1559         * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
1560         in Scng.
1561
1562         * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
1563         Restricted.
1564         (Usage): Line for new switch -R
1565
1566         * make.adb (Initialize): When the platform is not VMS, add the
1567         directory where gnatmake is invoked in the front of the path, if
1568         gnatmake is invoked with directory information.  Change the Scan_Args
1569         while loop to a for loop.
1570         (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
1571         if Depth is equal or greater than the proposed depth, there is nothing
1572         to do.
1573         (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
1574         instead of 0.
1575
1576         * prj.ads: Add new symbol policy Restricted.
1577
1578         * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
1579         with the new parameters Check_All_Labels and Case_Location.
1580
1581         * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
1582         (Library_Symbol_File needs to be defined).
1583
1584         * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
1585         and Case_Location If Check_All_Labels is True, check that all values of
1586         the string type are used, and output warning(s) if they are not.
1587
1588         * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
1589         and Case_Location.
1590
1591         * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
1592
1593         * gnat_ugn.texi: Update documentation about the library directory in
1594         Library Projects.
1595
1596         * makegpr.adb (Display_Command): In verbose mode, also display the
1597         value of the CPATH env var, when the compiler is gcc.
1598         (Initialize): Change the Scan_Args while loop to a for loop
1599         (Compile_Individual_Sources): Change directory to object directory
1600         before compilations.
1601
1602         * symbols.ads: New symbol policy Restricted.
1603
1604 2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
1605
1606         * a-except.adb (Raise_After_Setup family): Remove. The responsibility
1607         is now taken care of internally in the Exception_Propagation package
1608         and does not require clients assistance any more.
1609
1610         * a-exexpr.adb (Is_Setup_And_Not_Propagated,
1611         Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
1612         functions. Helpers to maintain a predicate required in the handling of
1613         occurrence transfer between tasks.
1614         This is now handled internally and does not require clients assistance
1615         for the setup/propagate separation anymore.
1616         (Setup_Exception, Propagate_Exception): Simplify the Private_Data
1617         allocation strategy, handle the Setup_And_Not_Propagated predicate and
1618         document.
1619
1620         * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
1621         raise_after_setup, now that everything is handled internally within the
1622         setup/propagation engine.
1623
1624 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
1625
1626         * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
1627         Add additional conditions for the case of an actual being a simple
1628         name or literal. Improve inlining by preventing the generation
1629         of temporaries with a short lifetime (one use).
1630
1631 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
1632
1633         PR ada/15587
1634
1635         * einfo.ads: Minor comment updates for Has_Completion and
1636         E_Constant list of flags.
1637
1638         * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
1639         and constant redeclarations now set the Has_Completion flag of their
1640         defining identifiers.
1641
1642         * sem_ch7.adb (Analyze_Package_Spec): Add procedure
1643         Inspect_Deferred_Constant_Completion.
1644         Used to detect private deferred constants that have not been completed
1645         either by a constant redeclaration or pragma Import. Emits error message
1646         "constant declaration requires initialization expression".
1647
1648         * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
1649         completes a deferred constant.
1650
1651 2004-06-11  Geert Bosch  <bosch@gnat.com>
1652
1653         * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
1654
1655         * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
1656         calculating exponent for scaling denormal numbers.
1657         (Leading_Part): Properly raise Constraint_Error for zero or negative
1658         Adjustment.
1659         (Remainder): Properly raise Constraint_Error for zero divisor.
1660
1661 2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
1662
1663         * sem_util.adb: Minor reformatting.
1664
1665         * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
1666         dereference when accessing the entry parameter record.
1667         (Check_Array_Type): Always check for possible implicit dereference.
1668         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
1669         Abort if a pointer is still present (denoting that an implicit
1670         dereference was left in the tree by the front-end).
1671
1672         * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
1673         dereference when accessing the entry parameter record.
1674         (Check_Array_Type): Always check for possible implicit dereference.
1675         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
1676         Abort if a pointer is still present (denoting that an implicit
1677         dereference was left in the tree by the front-end).
1678
1679 2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
1680
1681         * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
1682         message, like the compiler itself does. Easier to parse the output.
1683
1684         * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
1685
1686         * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
1687         be base names, and not includes directories.
1688
1689 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
1690
1691         * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
1692         so that dependencies are properly taken into account by make.
1693
1694 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
1695
1696         PR ada/15622
1697         * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
1698         exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
1699
1700 2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
1701
1702         * Makefile.in (install-gnatlib): install target-specific run-time files.
1703
1704         * Make-lang.in: Remove obsolete targets.
1705
1706 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
1707
1708         * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
1709         specification, to catch misuses of program unit names.
1710
1711         * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
1712         superfluous conversions in an instance.
1713
1714 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
1715
1716         PR ada/15403
1717
1718         * sem_ch12.adb (Save_References): If operator node has been folded to
1719         enumeration literal, associated_node must be discarded.
1720
1721 2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
1722
1723         * s-stchop-vxworks.adb: Add required pragma Convention to
1724         Task_Descriptor because it is updated by a C function.
1725
1726 2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
1727
1728         PR ada/15568
1729
1730         * Makefile.in: Remove target specific SO_OPT on IRIX
1731
1732 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1733
1734         * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
1735         (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
1736         (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
1737         (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
1738         (STMT_STMT, USE_STMT): New statement codes.
1739         (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
1740         * ada-tree.h: Reflect above changes.
1741         (struct tree_loop_id): Deleted.
1742         (union lang_tree_node, struct lang_decl, struct lang_type):
1743         Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
1744         and DECL_LANGUAGE_SPECIFIC to reflect these changes.
1745         (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
1746         (IS_ADA_STMT): New macro.
1747         * decl.c (annotate_decl_with_node): New function.
1748         (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
1749         (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
1750         Call add_stmt_with_node to do needed assignments.
1751         Add call to update setjmp buffer directly, not via EXPR_STMT.
1752         (maybe_variable): Argment GNAT_NODE deleted.
1753         * gigi.h (maybe_variable): Likewise.
1754         (make_transform, add_stmt_with_node, set_block_for_group): New.
1755         (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
1756         (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
1757         (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
1758         (set_lineno, set_lineno_from_sloc): Likewise.
1759         (record_code_position, insert_code_for): Likewise.
1760         (gnat_poplevel): Now returns void.
1761         (end_subprog_body): Now takes argument.
1762         * misc.c (cgraph.h, tree-inline.h): New includes.
1763         (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
1764         (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
1765         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
1766         (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
1767         (gnat_parse_file): Don't set immediate_size_expand.
1768         Call cgraph functions.
1769         (gnat_expand_expr): Remove most cases.
1770         (record_code_position, insert_code_for): Remove from here.
1771         * trans.c (toplev.h, tree-gimple.h): Now included.
1772         (discard_file_names): Deleted.
1773         (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
1774         (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
1775         (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
1776         (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
1777         (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
1778         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
1779         (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
1780         (set_block_for_group, add_stmt_list): Likewise.
1781         (start_stmt_group): Renamed from start_block_stmt.
1782         (end_stmt_group): Likewise, from end_block_stmt.
1783         (build_stmt_group): Likewise, from build_block_stmt, also add arg.
1784         (gigi): Don't set discard_file_names or call set_lineno.
1785         Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
1786         (tree_transform): Deleted, now renamed to be gnat_to_gnu.
1787         Numerous changes throughout to reflect new names and complete
1788         function-at-a-time implementation.
1789         (gnat_expand_stmt): Delete or comment out all cases.
1790         (process_inlined_subprograms): Use add_stmt.
1791         (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
1792         call set_lineno; also remove unneeded block handling.
1793         (process_type): Remove unneeded block handling.
1794         (build_unit_elab): Remove calls to deleted functions.
1795         * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
1796         (tree-dump.h): Likewise.
1797         (struct ada_binding_level): Add field jmpbuf_decl.
1798         (gnat_define_builtin, gnat_install_builtins): New.
1799         (gnat_gimplify_function, gnat_finalize): Likewise.
1800         (gnat_poplevel): No longer return BLOCK, set it instead.
1801         Remove code dealing with nested functions.
1802         (gnat_init_decl_processing): Also set size_type_node.
1803         Call gnat_install_builtins.
1804         (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
1805         (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
1806         Remove special-case for "main".
1807         (end_subprog_body): Add arg and rework for tree-ssa.
1808         (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
1809         Add case for BOOLEAN_TYPE.
1810         * utils2.c (rtl.h): Now include.
1811         (build_call_raise): Test Debug_Flag_NN directly.
1812         (build_call_alloc_dealloc): Don't use local stack allocation for now.
1813         (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
1814         (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
1815
1816 2004-06-07  Robert Dewar  <dewar@gnat.com>
1817
1818         * a-direct.ads, einfo.ads: Minor comment updates
1819
1820         * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
1821         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
1822         s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
1823         s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
1824         s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
1825
1826         * s-interr-sigaction.adb: Remove unreferenced variable
1827         (Attached_Interrupts).  Minor reformatting.
1828         Avoid use of variable I (replace by J).
1829
1830         * par-ch10.adb: Fix text of one error message
1831
1832         * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
1833         exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
1834         exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
1835         opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
1836         par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
1837         par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
1838         sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
1839         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
1840         sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
1841         sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
1842         snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
1843         2005 support.
1844
1845 2004-06-07  Doug Rupp  <rupp@gnat.com>
1846
1847         * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
1848
1849         * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
1850
1851         * mlib-tgt-vms-ia64.adb: New file.
1852
1853         * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
1854         Add mlib-tgt-vms-ia64.adb
1855         Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
1856         Move to alpha specific ifeq section.
1857         Add VMS specific versions of symbols.adb
1858         Renaming of 5q vms files.
1859
1860         * 5qsystem.ads renamed to system-vms_64.ads.
1861
1862 2004-06-07  Vincent Celier  <celier@gnat.com>
1863
1864         * a-calend.ads: Add a GNAT Note comment after function Time_Of to
1865         explain that when a time of day corresponding to the non existing hour
1866         on the day switching to DST is specified, Split may return a different
1867         value for Seconds.
1868
1869         * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
1870         to GNAT PRETTY.
1871
1872         * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
1873         (Normalize_Pathname): Only resolve VMS logical names when on VMS.
1874
1875         * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
1876         to False.
1877         If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
1878         the linking options.
1879         (Build_Library.Check_Libs): On VMS, if there is a dependency on
1880         g-trasym.ads, set Gtrasymobj_Needed to True.
1881
1882         * prj-attr.adb: Add new package Metrics for gnatmetric
1883
1884         * prj-nmsc.adb (Record_Other_Sources): Put source file names in
1885         canonical case to take into account files with upper case characters on
1886         Windows.
1887         (Ada_Check): Load the reference symbol file name in the name buffer to
1888         check it, not the symbol file name.
1889
1890         * snames.ads, snames.adb: Add standard name Metrics (name of project
1891         file package for gnatmetric).
1892
1893         * vms_conv.ads: Add Metric to Comment_Type
1894
1895         * vms_conv.adb (Initialize): Add component dor Metric in Command_List
1896
1897         * vms_data.ads: Add qualifiers for GNAT METRIC
1898
1899         * makegpr.adb (Link_Executables): Take into account the switches
1900         specified in package Linker of the main project.
1901
1902 2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
1903
1904         * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
1905         the index of the last element is Units.Last, not Units.Table'Last
1906         (which is usually not a valid index within the actually allocated
1907         storage for the table).
1908
1909         * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
1910         determines whether to generate a call to a checked storage pool
1911         Dereference action.
1912         Generate such a call only for a dereference that either comes from
1913         source, or is the result of rewriting a dereference that comes from
1914         source.
1915
1916 2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
1917
1918         * bindgen.adb (Gen_Output_File): Add support for GAP builds.
1919
1920 2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
1921
1922         (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
1923         file level, elaborate the stride for inner dimensions in alignment
1924         units, not bytes.
1925
1926         * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
1927         in a comment.
1928
1929 2004-06-07  Javier Miranda  <miranda@gnat.com>
1930
1931         * exp_ch6.adb: Correct wrong modification in previous patch
1932
1933 2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
1934
1935         * g-trasym.ads: Corrected comment to properly reflect level of support
1936         on VMS.
1937
1938 2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
1939
1940         * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
1941         includes case of a variable referenced on the left hand side of an
1942         assignment, therefore remove redundant code. Variables and prefixes of
1943         indexed or selected components are now marked as referenced on left
1944         hand side. Warnings are now properly emitted when variables or prefixes
1945         are assigned but not read.
1946
1947         * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
1948         left hand side referenced variables. Private access types do not
1949         produce the warning "variable ... is assigned but never read".
1950         Add also additional checks to left hand side referenced variables.
1951         Aliased, renamed objects and access types do not produce the warning
1952         "variable ... is assigned but never read" since other entities may read
1953         the memory location.
1954
1955 2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
1956
1957         * Makefile.in: In the powerpc/vxworks-specific section, restore
1958         EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
1959         by mistake).
1960
1961 2004-06-07  Ed Schonberg  <schonberg@gnat.com>
1962
1963         * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
1964         predefined operators.
1965         Removes spurious type errors from g-trasym-vms.adb.
1966
1967         * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
1968         distinct from the operator appearing in the source, call appropriate
1969         routine to insert conversions when needed, and complete resolution of
1970         node.
1971         (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
1972         interpretations for rewritten right operand.
1973         (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
1974         the other operand is overloaded and the context is a type conversion.
1975
1976 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1977
1978         * ada-tree.def (BLOCK_STMT): Now has two operands.
1979         (BREAK_STMT): New.
1980
1981         * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
1982
1983         * gigi.h: (gnat_poplevel): Now returns a tree.
1984
1985         * trans.c (end_block_stmt): Add arg; all callers changed.
1986         (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
1987         (start_block_stmt): Clear BLOCK_STMT_BLOCK.
1988         (add_stmt): Set TREE_TYPE.
1989         (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
1990         (gnat_expand_stmt, case BREAK_STMT): New case.
1991
1992         * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
1993
1994 2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
1995
1996         * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
1997         procedure Set_Stack_Size that is not needed.
1998
1999 2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
2000
2001         * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
2002         used for gnatpp input file and for the files upon which it depends
2003
2004 2004-06-07  Ben Brosgol  <brosgol@gnat.com>
2005
2006         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
2007
2008 2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
2009
2010         * gnatvsn.ads: Bump version numbers appropriately.
2011         Add new build type.
2012
2013 2004-06-07  Pascal Obry  <obry@gnat.com>
2014
2015         * gnat_ugn.texi: Improve comments about imported names and link names
2016         on Windows. Add a note about the requirement to use -k gnatdll's option
2017         when working with a DLL which has stripped stdcall symbols (no @nn
2018         suffix).
2019
2020 2004-05-27  Vincent Celier  <celier@gnat.com>
2021
2022         * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
2023         COMMENTS_LAYOUT=UNTOUCHED
2024
2025         * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
2026         symbols-vms-alpha.adb
2027
2028 2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
2029
2030         * sem.ads: Clarify documentation on checks suppression.
2031
2032         * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
2033
2034 2004-05-27  Ed Schonberg  <schonberg@gnat.com>
2035
2036         * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
2037         the case of multiple derivations.
2038         (Is_Object_Reference): For a selected component, verify that the prefix
2039         is itself an object and not a value.
2040
2041         * sem_ch12.adb (Same_Instantiated_Constant): New name for
2042         Same_Instantiated_Entity.
2043         (Same_Instantiated_Variable): Subsidiary to
2044         Check_Formal_Package_Instance, to recognize actuals for in-out generic
2045         formals that are obtained from a previous formal package.
2046         (Instantiate_Subprogram_Body): Emit proper error when
2047         generating code and the proper body of a stub is missing.
2048
2049         * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
2050         has a universal interpretation, do the disambiguation here.
2051
2052         * exp_ch4.adb (Expand_N_Type_Conversion,
2053         Expand_N_Unchecked_Type_Conversion): Special handling when target type
2054         is Address, to avoid typing anomalies when Address is a visible integer
2055         type.
2056
2057         * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
2058         to determine whether a subprogram should not be marked Pure, even when
2059         declared in a pure package.
2060
2061 2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
2062
2063         * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
2064
2065         * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
2066         Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
2067         Update the documentation about the Ravenscar profile, following the
2068         definition found in AI-249.
2069
2070         * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
2071         setting the Profile (Ravenscar). This must be done in addition to
2072         setting the required restrictions.
2073
2074         * rtsfind.ads: Add the set of operations defined in package
2075         Ada.Interrupts.
2076
2077         * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
2078         restriction.
2079
2080 2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
2081
2082         lang-specs.h: Always require -c or -S and always redirect to /dev/null
2083         if -gnatc or -gnats is passed.
2084
2085 2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
2086
2087         * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
2088         a significant reference. Warnings are now properly emitted when a
2089         discriminated type is not referenced.
2090
2091         * lib-xref.adb (Generate_Reference): A deferred constant completion,
2092         record representation clause or record type discriminant does not
2093         produce a reference to its corresponding entity. Warnings are now
2094         properly emitted when deferred constants and record types are not
2095         referenced.
2096
2097 2004-05-27  Geert Bosch  <bosch@gnat.com>
2098
2099         * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
2100         Fixes ACATS Annex G tests.
2101
2102 2004-05-27  Robert Dewar  <dewar@gnat.com>
2103
2104         * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
2105         handling WITH
2106
2107 2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
2108
2109         * s-interr.adb (Server_Task): Take into account case of early return
2110         from sigwait under e.g. linux.
2111
2112 2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
2113
2114         * gnat_ugn.texi: Add description for the new gnatpp options:
2115          -rnb - replace the original source without creating its backup copy
2116          -c0 - do not format comments
2117
2118 2004-05-24  Geert Bosch  <bosch@gnat.com>
2119
2120         * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
2121         with 192 bits of precision, sufficient to reduce a double-extended
2122         arguments X with a maximum relative error of T'Machine_Epsilon, for X
2123         in -2.0**32 .. 2.0**32.
2124         (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
2125         reduction by the processor, which only uses a 68-bit approximation of
2126         Pi.
2127         (Tan): Always reduce arguments and compute function either using
2128         the processor's fptan instruction, or by dividing sin and cos as needed.
2129
2130 2004-05-24  Doug Rupp  <rupp@gnat.com>
2131
2132         * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
2133         gcc error on 32/64 bit VMS.
2134
2135 2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
2136
2137         * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
2138         since this is what we get for stack overflows although not documented
2139         as such.
2140         Document the issues which may require adjustments to our signal
2141         handlers.
2142
2143 2004-05-24  Ed Schonberg  <schonberg@gnat.com>
2144
2145         * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
2146         enclosing dynamic scope if the instantiation is within a generic unit.
2147
2148 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
2149
2150         * exp_dbug.ads: Fix typo.
2151
2152         * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
2153         Rename it to its proper name: system-linux-ia64.ads
2154         (stamp-gnatlib1): Remove extra target specific run time files when
2155         setting up the rts directory.
2156
2157 2004-05-24  Javier Miranda  <miranda@gnat.com>
2158
2159         * einfo.ads, einfo.adb (Limited_Views): Removed.
2160         (Limited_View): New attribute that replaces the previous one. It is
2161         now a bona fide package with the limited-view list through the
2162         first_entity and first_private attributes.
2163
2164         * sem_ch10.adb (Install_Private_With_Clauses): Give support to
2165         limited-private-with clause.
2166         (Install_Limited_Withed_Unit): Install the private declarations of a
2167         limited-private-withed package. Update the installation of the shadow
2168         entities according to the new structure (see Build_Limited_Views)
2169         (Build_Limited_Views): Replace the previous implementation of the
2170         limited view by a package entity that references the first shadow
2171         entity plus the first shadow private entity (required for limited-
2172         private-with clause)
2173         (New_Internal_Shadow_Entity): Code cleanup.
2174         (Remove_Limited_With_Clause): Update the implementation to undo the
2175         new work carried out by Build_Limited_Views.
2176         (Build_Chain): Complete documentation.
2177         Replace Ada0Y by Ada 0Y in comments
2178         Minor reformating
2179
2180         * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
2181         types the level of accessibility depends on the enclosing type
2182         declaration.
2183
2184         * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
2185         entities. Complete documentation of previous change.
2186
2187 2004-05-24  Robert Dewar  <dewar@gnat.com>
2188
2189         * namet.adb: Minor reformatting
2190         Avoid use of name I (replace by J)
2191         Minor code restructuring
2192
2193         * sem_ch6.adb: Minor reformatting
2194
2195         * lib-writ.adb: Do not set restriction as active if this is a
2196         Restriction_Warning case.
2197
2198         * sem_prag.adb: Reset restriction warning flag if real pragma
2199         restriction encountered.
2200
2201         * s-htable.adb: Minor reformatting
2202         Change rotate count to 3 in Hash (improves hash for small strings)
2203
2204         * 5qsystem.ads: Add comments for type Address (no literals allowed).
2205
2206         * gnat_ugn.texi: Add new section of documentation "Code Generation
2207         Control", which describes the use of -m switches.
2208
2209 2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
2210
2211         trans.c (tree_transform) <N_Identifier>: Do the dereference directly
2212         through the DECL_INITIAL for renamed variables.
2213
2214 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
2215
2216         * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
2217
2218 2004-05-19  Joel Brobecker  <brobecker@gnat.com>
2219
2220         * exp_dbug.ads: Correct comments concerning handling of overloading,
2221         since we no longer use $ anymore.
2222
2223 2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
2224
2225         * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
2226         ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
2227         with illegal subunits.
2228
2229 2004-05-19  Ed Schonberg  <schonberg@gnat.com>
2230
2231         * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
2232         body with front-end inlining enabled, check whether an inline pragma
2233         appears immediately after the body and applies to it.
2234
2235         * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
2236         enabled and the pragma appears after the body of the subprogram.
2237
2238 2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2239
2240         Part of function-at-a-time conversion
2241
2242         * misc.c (adjust_decl_rtl): Deleted.
2243         (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
2244         Define.
2245
2246         * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
2247         (add_decl_stmt, add_stmt, block_has_vars): New functions.
2248         (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
2249
2250         * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
2251         when making a decl.
2252         (gnat_to_gnu_entity): Likewise.
2253         Use add_stmt to update setjmp buffer.
2254         Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
2255         flush_addressof.
2256         No longer call adjust_decl_rtl.
2257         (DECL_INIT_BY_ASSIGN_P): New macro.
2258         (DECL_STMT_VAR): Likewise.
2259
2260         * trans.c (gigi): Call start_block_stmt to make the outermost
2261         BLOCK_STMT.
2262         (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
2263         Call start_block_stmt and end_block_stmt temporarily.
2264         Use gnat_expand_stmt instead of expand_expr_stmt.
2265         (add_decl_stmt): New function.
2266         (tree_transform): Call it.
2267         (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
2268         (end_block_stmt): Set type and NULL_STMT.
2269         (gnat_expand_stmt): Make recursize call instead of calling
2270         expand_expr_stmt.
2271         (gnat_expand_stmt, case DECL_STMT): New case.
2272         (set_lineno_from_sloc): Do nothing if global.
2273         (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
2274         (start_block_stmt, add_stmt, end_block_stmt): New functions.
2275         (build_block_stmt): Call them.
2276         (gnat_to_code): Don't expand NULL_STMT.
2277         (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
2278         args.
2279         (tree_transform): Likewise.
2280         (tree_transform, case N_Null_Statement): Return NULL_STMT.
2281         (gnat_expand_stmt, case NULL_STMT): New case.
2282         (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
2283         IF_STMT_TRUE.
2284
2285         * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
2286         TREE_ADDRESSABLE.
2287
2288         * utils.c (create_var_decl): Do not call expand_decl or
2289         expand_decl_init.
2290         Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
2291         Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
2292         here.
2293         (struct e_stack): Add chain_next to GTY.
2294         (struct binding_level): Deleted.
2295         (struct ada_binding_level): New struct.
2296         (free_block_chain): New.
2297         (global_binding_level, clear_binding_level): Deleted.
2298         (global_bindings_p): Rework to see if no chain.
2299         (kept_level_p, set_block): Deleted.
2300         (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
2301         new data structure and work directly on BLOCK node.
2302         (gnat_poplevel): Similarly.
2303         (get_decls): Look at BLOCK_VARS.
2304         (insert_block): Work directly on BLOCK node.
2305         (block_has_var): New function.
2306         (pushdecl): Rework for new binding structures.
2307         (gnat_init_decl_processing): Rename and rework calls to pushlevel and
2308         poplevel.
2309         (build_subprog_body): Likewise.
2310         (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
2311
2312         * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
2313
2314         * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
2315         (DECL_STMT_VAR): Likewise.
2316
2317 2004-05-17  Robert Dewar  <dewar@gnat.com>
2318
2319         * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
2320         procedure
2321
2322         * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
2323         of restriction synonyums by using
2324         Restrict.Process_Restriction_Synonyms.
2325
2326         * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
2327
2328         * s-restri.ads (Tasking_Allowed): Correct missing comment
2329
2330         * s-rident.ads: Add entries for restriction synonyms
2331
2332         * ali.adb: Fix some problems with badly formatted ALI files that can
2333         result in infinite loops.
2334
2335         * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
2336         s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
2337         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
2338         s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
2339         s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
2340         s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
2341         s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
2342         s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
2343         s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
2344         a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
2345         exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
2346         s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
2347         s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
2348         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
2349         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
2350         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
2351         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
2352         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
2353         s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
2354         s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
2355         to Task_Id (minor cleanup).
2356
2357 2004-05-17  Vincent Celier  <celier@gnat.com>
2358
2359         * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
2360         directory separator.
2361
2362         * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
2363         project being extended, if Languages is not declared in extending
2364         project.
2365
2366 2004-05-17  Javier Miranda  <miranda@gnat.com>
2367
2368         * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
2369         limited view of a visible sibling.
2370
2371 2004-05-14  Robert Dewar  <dewar@gnat.com>
2372
2373         * gnat_ugn.texi: Minor change to -gnatS documentation
2374
2375         * sprint.adb: Remove some instances of Assert (False) and for this
2376         purpose replace them by output of a ??? string.
2377
2378         * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
2379         Assert (False).
2380
2381         * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
2382         flag processing. This was suppressing required dependencies in
2383         No_Run_Time mode and is not needed since the binder does not generate
2384         references for things in libgnat anyway.
2385
2386         * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
2387         warning.
2388
2389 2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
2390
2391         * gnat_ugn.texi: Document AIX-specific issue with initialization of
2392         resolver library.
2393
2394         * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
2395         action for the case of an actual parameter in an init proc call.
2396
2397 2004-05-14  Ed Schonberg  <schonberg@gnat.com>
2398
2399         * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
2400         subtype, check visible entities in base type.
2401
2402         * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
2403         actions if the object is a renaming.
2404
2405         * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
2406         Check_Formal_Package_Instance, to determine more precisely when the
2407         formal and the actual denote the same entity.
2408
2409 2004-05-14  Javier Miranda  <miranda@gnat.com>
2410
2411         * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
2412
2413         * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
2414         corresponding to a private_with must be removed from visibility; it
2415         will be made visible later, just before we analyze the private part of
2416         the package.
2417         (Check_Private_Child_Unit): Allow private_with clauses in public
2418         siblings.
2419         (Install_Siblings): Make visible the private entities of private-withed
2420         siblings.
2421         (Install_Withed_Unit): Do not install the private withed unit if we
2422         are compiling a package declaration and the Private_With_OK flag was
2423         not set by the caller. These declarations will be installed later,
2424         just before we analyze the private part of the package.
2425
2426         * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
2427         during the evaluation of the expression that initializes the object,
2428         decorate it with the expected type to avoid cascade errors.
2429         Code cleanup.
2430
2431         * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
2432         subprogram we have to install the private_with clauses after its
2433         specification has been analyzed (as documented in AI-262.TXT).
2434
2435         * sem_ch8.adb (Has_Private_With): New function. Determines if the
2436         current compilation unit has a private with on a given entity.
2437         (Find_Direct_Name): Detect the Beaujolais problem described in
2438         AI-262.TXT
2439
2440         * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
2441         provides the functionality of the function Is_Ancestor that was
2442         previously available in sem_ch10. It has been renamed to avoid
2443         overloading.
2444
2445         * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
2446
2447 2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2448
2449         * utils.c (build_vms_descriptor): Use SImode pointers.
2450
2451 2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
2452
2453         * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
2454
2455 2004-05-14  GNAT Script  <nobody@gnat.com>
2456
2457         * Make-lang.in: Makefile automatically updated
2458
2459 2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
2460
2461         Renaming of target specific files for clarity
2462
2463         * Makefile.in: Rename GNAT target specific files.
2464
2465         * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
2466         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
2467         3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
2468         3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
2469         3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
2470         3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
2471         42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
2472         4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
2473         4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
2474         4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
2475         4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
2476         4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
2477         51osinte.adb, 51osinte.ads, 51system.ads,
2478         52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
2479         55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
2480         56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
2481         56tpopsp.adb, 57system.ads, 58system.ads,
2482         5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
2483         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
2484         5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
2485         5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
2486         5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
2487         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
2488         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
2489         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
2490         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
2491         5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
2492         5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
2493         5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
2494         5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
2495         5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
2496         5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
2497         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
2498         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
2499         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
2500         5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
2501         5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
2502         5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
2503         5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
2504         5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
2505         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
2506         5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
2507         5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
2508         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
2509         5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
2510         5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
2511         5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
2512         5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
2513         5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
2514         5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
2515         5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
2516         5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
2517         5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
2518         7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
2519         7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
2520         7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
2521         7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
2522
2523         * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
2524         a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
2525         a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
2526         a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
2527         a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
2528         a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
2529         a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
2530         a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
2531         a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
2532         a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
2533         g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
2534         g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
2535         g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
2536         g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
2537         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
2538         g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
2539         g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
2540         g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
2541         interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
2542         mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
2543         mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
2544         mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
2545         s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
2546         s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
2547         s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
2548         s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
2549         s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
2550         s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
2551         s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
2552         s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
2553         s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
2554         s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
2555         s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
2556         s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
2557         s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
2558         s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
2559         s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
2560         s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
2561         s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
2562         s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
2563         s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
2564         s-osinte-vms.ads, s-osinte-vxworks.adb,
2565         s-osinte-vxworks.ads, s-osprim-mingw.adb,
2566         s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
2567         s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
2568         s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
2569         s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
2570         s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
2571         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
2572         s-stchop-vxworks.adb, s-taprop-dummy.adb,
2573         s-taprop-hpux-dce.adb, s-taprop-irix.adb,
2574         s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
2575         s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
2576         s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
2577         s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
2578         s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
2579         s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
2580         s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
2581         s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
2582         s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
2583         s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
2584         s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
2585         s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
2586         s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
2587         s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
2588         s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
2589         s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
2590         s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
2591         symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
2592         system-hpux.ads, system-interix.ads, system-irix-n32.ads,
2593         system-irix-o32.ads, system-linux-x86_64.ads,
2594         system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
2595         system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
2596         system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
2597         system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
2598         system-vxworks-alpha.ads, system-vxworks-m68k.ads,
2599         system-vxworks-mips.ads, system-vxworks-ppc.ads,
2600         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
2601         above.
2602
2603 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
2604
2605         * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
2606
2607 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
2608
2609         Merge from tree-ssa-20020619-branch.
2610
2611         * config-lang.in (boot_language, build_by_default): Set
2612         to no.
2613         * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
2614         (max_size): Add static chain op for call_expr.
2615
2616 2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
2617
2618         PR target/15331
2619         * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
2620
2621 2004-05-11  Roger Sayle  <roger@eyesopen.com>
2622
2623         * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
2624         COND_EXPR.
2625
2626 2004-05-10  Doug Rupp  <rupp@gnat.com>
2627
2628         * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
2629         system.aux_dec.
2630
2631         * s-auxdec.ads: Add Short_Address subtype (moved here from System).
2632
2633         * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
2634
2635         * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
2636         Fixes undefined symbols in IA64 gnatlib.
2637
2638         * 5vinmaop.adb: Reference s-auxdec for Short_Address.
2639
2640         * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
2641         Short_Address). This will be moved to system.auxdec.
2642
2643 2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
2644
2645         * sem_util.adb: Replace test for presence of a node that is always
2646         present with a call to Discard_Node.
2647
2648         * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
2649         Analyze on the library unit node after generation of distribution stub
2650         constructs.  The call was a no-op because Unit_Node has already been
2651         Analyzed, and the tree fragments for the distribution stubs are
2652         analyzed as they are inserted in Exp_Dist.
2653         Update comment regarding to distribution stubs to reflect that we
2654         do not generate stub in separate files anymore.
2655
2656         * einfo.ads: Clarify the fact that a tagged private type has the
2657         E_Record_Type_With_Private Ekind.
2658
2659         * erroutc.adb: Minor reformatting
2660
2661         * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
2662         values if line length is increased using -gnatyM (noticed during code
2663         reading).
2664
2665         * eval_fat.adb: Minor reformatting
2666         Put spaces around exponentiation operator
2667
2668 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
2669
2670         PR ada/15005
2671         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
2672         has been rewritten as an explicit dereference, retrieve type of
2673         original node to check for possibly unconstrained record type.
2674
2675 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
2676
2677         * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
2678         overriding, use the operation of the parent unconditionally.
2679
2680         * sem_ch4.adb (Remove_Address_Interpretations): Remove address
2681         operation when either operand is a literal, to avoid further
2682         ambiguities.
2683
2684         * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
2685         overridden by a previous explicit declaration, mark the previous entity
2686         as overriding.
2687
2688         * sem_disp.adb (Check_Dispatching_Operation): New predicate
2689         Is_Visibly_Controlled, to determine whether a declaration of a
2690         primitive control operation for a derived type overrides an inherited
2691         one. Add warning if the explicit declaration does not override.
2692
2693 2004-05-10  Vincent Celier  <celier@gnat.com>
2694
2695         * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
2696         some cases when the sources are no longer present.
2697
2698         * make.adb (Collect_Arguments): Fail if an external source, not part
2699         of any project need to be compiled, when switch -x has not been
2700         specified.
2701
2702         * makeusg.adb: Document new switch -x
2703
2704         * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
2705         defaulted to False.
2706
2707         * switch-m.adb (Scan_Make_Switches): New switch -x
2708
2709         * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
2710         gnatmake switch -x.
2711
2712         * gnat_ugn.texi: Document new gnatmake switch -x
2713
2714 2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
2715
2716         * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
2717
2718         * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
2719         (process_attributes): Likewise.
2720
2721 2004-05-10  Joel Brobecker  <brobecker@gnat.com>
2722
2723         * s-inmaop.ads: Fix spelling mistake in one of the comments.
2724
2725 2004-05-10  Robert Dewar  <dewar@gnat.com>
2726
2727         * gnat_ugn.texi: Document that for config pragma files, the maximum
2728         line length is always 32767.
2729
2730         * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
2731         literals is now allowed.
2732
2733         * gnat-style.texi: Remove statement about splitting long lines before
2734         an operator rather than after, since we do not follow this rule at all.
2735         Clarify rule (really lack of rule) for spaces around exponentiation
2736
2737         * sem_elim.adb: Allow concatenation of string literals as well as a
2738         single string literal for pragma arguments.
2739
2740         * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
2741
2742         * a-textio.adb (Terminate_Line): Do not add line feed if nothing
2743         written for append case.
2744
2745         * frontend.adb: Changes to avoid checking max line length in config
2746         pragma files.
2747
2748         * g-os_lib.ads: Minor reformatting
2749
2750         * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
2751         wrong in any case. Instead use standard value. Noticed during code
2752         reading.
2753
2754         * opt.ads (Max_Line_Length): New field, used to implement removal of
2755         limitation on length of lines when scanning config pragma files.
2756
2757         * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
2758         makeutl.ads, makeutl.adb: Minor reformatting
2759
2760         * scn.adb: Do not check line length while scanning config pragma files
2761         Do not check line length while scanning out license information
2762
2763         * scng.adb: Changes to avoid line length checks while parsing config
2764         pragma files.
2765
2766 2004-05-10  GNAT Script  <nobody@gnat.com>
2767
2768         * Make-lang.in: Makefile automatically updated
2769
2770 2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
2771
2772         * osint.adb (Find_Program_Name): Fix handling of VMS version
2773         number.
2774
2775 2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
2776
2777         * g-os_lib.ads (Invalid_Time): New constant
2778
2779         * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
2780         return OS_Time instead of time_t to match what is imported by Ada.
2781         Now return -1 if the file doesn't exist, instead of a random value
2782
2783 2004-05-05  Robert Dewar  <dewar@gnat.com>
2784
2785         * usage.adb: Add line for -gnatR?s switch
2786
2787         * sem_ch13.adb, exp_ch2.adb: Minor reformatting
2788
2789         * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
2790         and for Match (Data_First, Data_last)
2791
2792         * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
2793         written when we are dealing with multi-unit files.
2794
2795 2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
2796
2797         * Makefile.in: Remove unused targets and variables.
2798
2799 2004-05-05  Vincent Celier  <celier@gnat.com>
2800
2801         * switch-m.adb: New gnatmake switch -eI
2802
2803         * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
2804         of new gnatmake switch -eInnn.
2805
2806         * makegpr.adb: Take into account new parameters Index and Src_Index in
2807         Prj.Util.
2808
2809         * clean.adb: Implement support for multi-unit sources, including new
2810         switch -i.
2811
2812         * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
2813         Src_Index.
2814
2815         * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
2816         (Extract_From_Q): New out parameter Index
2817         (Mark, Is_Marked): Subprograms moved to Makeutl
2818         (Switches_Of): New parameter Source_Index
2819         (Add_Switch): New parameter Index
2820         (Check): New parameter Source_Index
2821         (Collect_Arguments): New parameter Source_Index
2822         (Collect_Arguments_And_Compile): New parameter Source_Index
2823         (Compile): New parameter Source_Index
2824         Put subprograms in alphabetical order
2825         Add support for multi-source sources, including in project files.
2826
2827         * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
2828         (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
2829         Make.
2830
2831         * makeusg.adb: New gnatmake switch -eInnn
2832
2833         * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
2834         Prj.Util.Value_Of.
2835
2836         * opt.ads (Main_Index): New variable, defaulted to 0.
2837
2838         * osint.ads, osinte.adb (Add_File): New parameter Index
2839         (Current_Source_Index): New function
2840
2841         * prj.adb: Take into account new components Index and Src_Index
2842
2843         * prj.ads (String_Element): New component Index
2844         (Variable_Value): New component Index
2845         (Array_Element): New component Src_Index
2846
2847         * prj-attr.adb: Indicate that optional index may be specified for
2848         attributes Main, Executable, Spec, Body and some of Switches.
2849
2850         * prj-attr.ads (Attribute_Kind): New values for optional indexes
2851         (Attribute_Record): New component Optional_Index
2852
2853         * prj-com.ads (File_Name_Data): New component Index
2854
2855         * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
2856
2857         * prj-env.adb (Put): Output optional index
2858
2859         * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
2860         attributes Spec and Body.
2861
2862         * prj-nmsc.adb: Process optional indexes
2863
2864         * prj-pp.adb: Ouput "at" for optional indexes
2865
2866         * prj-proc.adb: Take into account optional indexes
2867
2868         * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
2869         Optional_Index. For string literal,
2870         process optional index when Optional_Index is True.
2871         (Parse_Expresion): New Boolean parameter Optional_Index
2872
2873         * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
2874         (Set_Source_Index_Of): New procedure
2875
2876         * prj-util.adb (Executable_Of, Value_Of): Take into account optional
2877         index.
2878
2879         * prj-util.ads (Executable_Of): New parameter Index
2880         (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
2881         New parameter Src_Index, defaulted to 0.
2882
2883 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
2884
2885         PR ada/15257
2886         * sem_ch3.adb (Access_Definition): If this is an access parameter
2887         whose designated type is imported through a limited_with clause, do
2888         not add the enclosing subprogram to the list of private dependents of
2889         the type.
2890
2891 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
2892
2893         PR ada/15258
2894         * sem_ch6.adb (Base_Types_Match): True if one type is imported through
2895         a limited_with clause, and the other is its non-limited view.
2896
2897 2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
2898
2899         * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
2900
2901         * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
2902         exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
2903         Stand.Boolean_Literals to produce references to entities
2904         Standard_False and Standard_True from compile-time computed boolean
2905         values.
2906
2907         * stand.ads (Boolean_Literals): New variable, provides the entity
2908         values for False and True, for use by the expander.
2909
2910 2004-05-05  Doug Rupp  <rupp@gnat.com>
2911
2912         * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
2913         5vinmaop.adb: Unchecked convert Short_Address vice Address
2914
2915         * adaint.c, raise.c: Caste CRTL function return value
2916         to avoid gcc error on 32/64 bit IVMS.
2917
2918         * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
2919         target = IA64/VMS.
2920
2921         * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
2922
2923         * 5qsystem.ads (Address): Declare as Long_Integer
2924         (Short_Address): Declare as 32 bit subtype of Address
2925         Declare  abstract address operations to avoid gratuitous ambiguities.
2926
2927 2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
2928
2929         * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
2930         instead of the old Boolean_Entry_Barriers.
2931         Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
2932
2933 2004-05-05  GNAT Script  <nobody@gnat.com>
2934
2935         * Make-lang.in: Makefile automatically updated
2936
2937 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
2938
2939         * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
2940
2941 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
2942
2943         PR ada/15152
2944
2945         * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
2946         alone. Replacing object references by literals is inappropriate in a
2947         so low level context.
2948
2949 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
2950
2951         * a-exexpr.adb: Add comments
2952
2953 2004-05-03  Joel Brobecker  <brobecker@gnat.com>
2954
2955         * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
2956         declare the Ancestor_Tags array in Type_Specific_Data with a small size
2957         without risking a bounds check error when accessing one of its
2958         components.
2959         (Type_Specific_Data): Define Ancestor_Tags as a small array.
2960         This prevents us from hitting a limitation during the debug info
2961         generation when using stabs.
2962
2963         * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
2964         small array.
2965         This prevents us from hitting a limitation during the debug info
2966         generation when using stabs.
2967
2968 2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
2969
2970         lang-specs.h: Remove -gnatz* from specs.
2971
2972 2004-05-03  Vincent Celier  <celier@gnat.com>
2973
2974         * gprmake.adb, makegpr.ads, makegpr.adb: New files.
2975
2976         * Make-lang.in, Makefile.in: Add gprmake
2977
2978 2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
2979
2980         * sem_aggr.adb: Fix typo in comment.
2981
2982 2004-05-03  Robert Dewar  <dewar@gnat.com>
2983
2984         * make.adb: Minor reformatting
2985
2986         * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
2987
2988         * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
2989         so that it works when address is not a private type.
2990
2991         * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
2992         properly with rewritten unchecked conversions. This prevents
2993         order-of-elaboration issues that can otherwise arise.
2994         (Minimum_Size): Don't check size of access types under VMS
2995
2996         * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
2997         interpretations of integer literals as type System.Address.
2998
2999         * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
3000         (Is_Descendent_Of): New function
3001
3002 2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
3003
3004         * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
3005         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
3006         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
3007
3008         * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
3009         of the old Max_Entry_Queue_Depth.
3010
3011         * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
3012         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
3013         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
3014
3015         * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
3016         New entry for proper handling of Max_Entry_Queue_Depth.
3017         New entry for proper handling of No_Dynamic_Interrupts.
3018
3019         * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
3020         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
3021         Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
3022         the GNAT specific restriction Max_Entry_Queue_Depth.
3023         Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
3024         the GNAT specific restriction No_Dynamic_Interrupts.
3025
3026         * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
3027         instead of the old Boolean_Entry_Barriers.
3028         Use the new restriction No_Dynamic_Attachment instead of the old
3029         No_Dynamic_Interrupts.
3030
3031         * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
3032         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
3033
3034         * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
3035         of the old Max_Entry_Queue_Depth.
3036
3037 2004-05-03  GNAT Script  <nobody@gnat.com>
3038
3039         * Make-lang.in: Makefile automatically updated
3040
3041 2004-04-29  Ed Schonberg  <schonberg@gnat.com>
3042
3043         * checks.adb (Enable_Range_Check): If the prefix of an index component
3044         is an access to an unconstrained array, perform check unconditionally.
3045
3046 2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3047
3048         * decl.c (gnat_to_gnu_field): Also call make_packable_type if
3049         Component_Clause.
3050
3051 2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
3052
3053         * init.c (__gnat_install_handler, __gnat_error_handler): Remove
3054         alternate stack setting. There was no support for the tasking cases
3055         and the changes eventually caused a number of side-effect failures in
3056         the non-tasking case too.
3057
3058 2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
3059
3060         lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
3061         -gnats is passed.
3062
3063 2004-04-29  Vincent Celier  <celier@gnat.com>
3064
3065         * make.adb (Gnatmake): Increase max size of argument array for
3066         gnatbind for the potential addition of -F.
3067         If there are Stand-Alone Library projects, invoke gnatbind with -F to
3068         be sure that elaboration flags will be checked.
3069
3070         * switch-c.adb: Correct call to Scan_Pos for -gnateI
3071
3072 2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
3073
3074         * sem_warn.adb (Check_References): Move '<access-variable> may be
3075         null' warning out of under Warn_On_No_Value_Assigned.
3076
3077 2004-04-29  Ed Falis  <falis@gnat.com>
3078
3079         * gnat_ugn.texi: Fixed texi error
3080
3081 2004-04-29  Robert Dewar  <dewar@gnat.com>
3082
3083         * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
3084         abstract operations if they come from predefined files.
3085
3086         * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
3087         Dynamic, not RM).
3088
3089         * s-addope.adb: Correct obvious error in mod function
3090
3091 2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
3092
3093         * Makefile.in: Add target pairs for powerpc darwin*
3094         tasking support.
3095
3096         * a-intnam-darwin.ads, s-osinte-darwin.adb,
3097         s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
3098
3099 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
3100
3101         * Makefile.in: Add target macro definitions for s390*-linux*.
3102         * system-linux-s390.ads: New file.
3103         * system-linux-s390x.ads: New file.
3104
3105 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3106
3107         * gnat_ugn.texi: Correct argument to @setfilename.
3108
3109 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
3110
3111         * a-exexpr.adb (Unwind_Word): New data type.
3112         (Unwind_Exception): Use it as type of Private1 and Private2.
3113
3114         * raise.c (db_action_for): Fix debug printf.
3115
3116 2004-04-27  Ed Schonberg  <schonberg@gnat.com>
3117
3118         * a-wtmoio.ads: Formal type must be a modular type, not a signed
3119         integer type.
3120
3121 2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3122
3123         * decl.c (gnat_to_gnu_entity, case object): Call
3124         __builtin_update_setjmp_buf.
3125
3126         * gigi.h (update_setjmp_buf): Deleted.
3127         (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
3128
3129         * misc.c: (update_setjmp_buf): Deleted.
3130
3131         * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
3132         around block of RTL.
3133
3134         * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
3135
3136 2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
3137
3138         * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
3139         subprogram for which no pragma All_Calls_Remote applies, store the
3140         address of the real subprogram in the underlying record type, so local
3141         dereferences do not go through the PCS.
3142
3143 2004-04-26  Robert Dewar  <dewar@gnat.com>
3144
3145         * i-c.ads: Add some type qualifications to avoid ambiguities when
3146         compiling with s-auxdec.ads and a non-private address type.
3147
3148 2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
3149
3150         * Makefile.rtl: Fix error in previous check-in:
3151         Add s-addope.o to non tasking object list (rather than tasking object
3152         list).
3153
3154 2004-04-26  Javier Miranda  <miranda@gnat.com>
3155
3156         * sem_aggr.adb: Fix typo in comments
3157         (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
3158         Required to check the null-exclusion attribute.
3159
3160         * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
3161         case of anonymous access types in record and array components. For a
3162         component definition the level is the same of the enclosing composite
3163         type.
3164
3165         * sem_ch3.adb (Analyze_Component_Declaration): In case of components
3166         that are anonymous access types the level of accessibility depends on
3167         the enclosing type declaration. In order to have this information, set
3168         the scope of the anonymous access type to the enclosing record type
3169         declaration.
3170         (Array_Type_Declaration): In case of components that are anonymous
3171         access types the level of accessibility depends on the enclosing type
3172         declaration. In order to have this information, set the scope of the
3173         anonymous access type to the enclosing array type declaration.
3174
3175         * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
3176         access type.
3177
3178         * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
3179         renaming of anonymous access-to-constant types allowed if and only if
3180         the renamed object is access-to-constant.
3181
3182         * sem_util.adb (Type_Access_Level): In case of anonymous access types
3183         that are component_definition or discriminants of a nonlimited type,
3184         the level is the same as that of the enclosing component type.
3185
3186 2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
3187
3188         * sem_elim.adb: Some minor code reorganization from code reading. Fix
3189         misprint in the function name (File_Name_Match).
3190
3191 2004-04-23  Laurent GUERBY <laurent@guerby.net>
3192
3193         * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
3194         install.
3195
3196 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3197
3198         * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
3199
3200 2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
3201
3202         * adaint.c (__gnat_try_lock): No longer requires that the parent
3203         directory be writable, the directory itself is enough.
3204         (gnat_is_absolute_path): Change profile, so that the call from
3205         GNAT.OS_Lib can be made more efficient.
3206
3207         * adaint.h (gnat_is_absolute_path): Change profile, so that the call
3208         from GNAT.OS_Lib can be made more efficient.
3209
3210         * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
3211         one copy of the file name. Found by code reading.
3212
3213 2004-04-23  Vincent Celier  <celier@gnat.com>
3214
3215         * gnat_ugn.texi: Add documentation for gnatmake switch -eL
3216         Correct documentation on gnatmake switches transmitted to the compiler
3217
3218         * ali.ads: Minor comment fix
3219
3220 2004-04-23  Javier Miranda  <miranda@gnat.com>
3221
3222         * sem_ch6.adb: (Confirming Types): Code cleanup
3223
3224         * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
3225         subprogram types: E_Anonymous_Access_Subprogram_Type and
3226         E_Anonymous_Access_Protected_Subprogram_Type.
3227
3228 2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
3229
3230         * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
3231         whether a pragma All_Calls_Remote applies to the subprogram on which
3232         'Access is taken.
3233         No functional change is introduced by this revision; the new parameter
3234         will be used to allow calls to local RCI subprograms to be optimized
3235         to not use the PCS in the case where no pragma All_Calls_Remote applies,
3236         as is already done in the PolyORB implementation of the DSA.
3237
3238         * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
3239         whether a pragma All_Calls_Remote applies to the subprogram on which
3240         'Access is taken.
3241         No functional change is introduced by this revision; the new parameter
3242         will be used to allow calls to local RCI subprograms to be optimized
3243         to not use the PCS in the case where no pragma All_Calls_Remote applies,
3244         as is already done in the PolyORB implementation of the DSA.
3245
3246 2004-04-23  Robert Dewar  <dewar@gnat.com>
3247
3248         * Makefile.rtl: Add entry for s-addope.o in run time library list
3249         * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
3250         * s-addope.ads, s-addope.adb: New files.
3251
3252         * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
3253         s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
3254         s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
3255         System.Address to be non-private and signed.
3256
3257         * sem_elim.adb: Minor reformatting (fairly extensive)
3258         Some minor code reorganization from code reading
3259         Add a couple of ??? comments
3260
3261 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3262
3263         * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
3264         (tree_transform, case N_If_Statement): Remove non-determinism.
3265
3266         * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
3267
3268 2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
3269
3270         * gnat_rm.texi: Small fixes in the changes made in the 'pragma
3271         Eliminate' section.
3272
3273         * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
3274         no longer used as a parameter name for Eliminate pragma).
3275
3276 2004-04-22  Laurent GUERBY <laurent@guerby.net>
3277
3278         PR optimization/14984
3279         PR optimization/14985
3280         * trans.c (gigi): Fix non determinism leading to bootstrap
3281         comparison failures.
3282
3283 2004-04-21  Pascal Obry  <obry@gnat.com>
3284
3285         * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
3286         passed to spawnvp() to properly handle program pathname with spaces on
3287         Win32.
3288
3289 2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
3290
3291         * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
3292         (Allocate, Deallocate, Free_Physically): Make sure the tasks are
3293         unlocked in case of exceptions.
3294
3295 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
3296
3297         * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
3298         This function does not exist anymore.
3299
3300 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
3301
3302         * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
3303
3304         * link.c: Move variables to the __gnat name space.
3305
3306         * Makefile.in: list link.o explicitly when needed.
3307
3308         * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
3309
3310 2004-04-21  Javier Miranda  <miranda@gnat.com>
3311
3312         * einfo.adb (Original_Access_Type): New subprogram
3313         (Set_Original_Access_Type): New subprogram
3314         (Write_Field21_Name): Write the name of the new field
3315
3316         * einfo.ads (Original_Access_Type): New field present in access to
3317         subprogram types.
3318         Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
3319         E_Anonymous_Access_Protected_Subprogram_Type.
3320
3321         * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
3322         subprogram types.
3323
3324         * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
3325         to anonymous access to subprogram types.
3326
3327         * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
3328         to subprogram types.
3329
3330         * sem_ch3.adb (Access_Definition): Complete decoration of entities
3331         corresponding to anonymous access to subprogram types.
3332         (Analyze_Component_Declaration): Add new actual to the call to
3333         subprogram replace_anonymous_access_to_protected_subprogram.
3334         (Array_Type_Declaration): Add new actual to the call to subprogram
3335         replace_anonymous_access_to_protected_subprogram.
3336         (Process_Discriminants): Add new actual to the call to subprogram
3337         replace_anonymous_access_to_protected_subprogram.
3338         (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
3339
3340         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
3341         formal.
3342
3343         * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
3344         access to subprogram types.
3345
3346         * sem_util.adb (Has_Declarations): Addition of package_specification
3347         nodes.
3348
3349 2004-04-21  Ed Schonberg  <schonberg@gnat.com>
3350
3351         * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
3352         inlined flags to renamed entity only if in current unit.
3353
3354 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
3355
3356         * s-parint.ads: Add DSA implementation marker.
3357
3358         * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
3359         value of System.Partition_Interface.DSA_Implementation to determine
3360         what version of the distributed systems annex is available (no
3361         implementation, GLADE, or PolyORB).
3362
3363 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
3364
3365         * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
3366
3367 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3368
3369         * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
3370         with new type if alias sets differ.
3371         Fixes ACATS c41103b.
3372
3373 2004-04-21  Vincent Celier  <celier@gnat.com>
3374
3375         * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
3376         Add array Lang_Args for the language specific compiling argument
3377         switches.
3378
3379         * gnat_ugn.texi: Explain in more details when a library is rebuilt.
3380
3381 2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
3382
3383         * gnat_rm.texi: Update the descripton of the Eliminate pragma
3384         according to the recent changes in the format of the parameters of the
3385         pragma (replacing Homonym_Number with Source_Location).
3386
3387 2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
3388
3389         * 5isystem.ads: Removed, unused.
3390
3391         * gnat_rm.texi: Redo 1.13 change.
3392
3393 2004-04-19  Robert Dewar  <dewar@gnat.com>
3394
3395         * s-stoele.ads: Clean up definition of Storage_Offset (the new
3396         definition is cleaner, avoids the kludge of explicit Standard operator
3397         references, and also is consistent with a visible System.Address with
3398         no visible operations.
3399
3400         * s-geveop.adb: Add declarations to avoid assumption of visible
3401         operations on type System.Address (since these might not be available
3402         if Address is a non-private type for which the operations
3403         are made abstract).
3404
3405         * sem_eval.adb: Minor reformatting
3406
3407         * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
3408         s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
3409         reformatting (new function spec format).
3410
3411         * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
3412         s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
3413         s-caun64.adb: Add declarations to avoid assumption of visible
3414         operations on type System.Address (since these might not be available
3415         if Address is a non-private type for which the operations are made
3416         abstract).
3417
3418         * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
3419
3420         * exp_intr.adb: Minor comment update
3421
3422         * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
3423
3424         * 5omastop.adb: Add declarations to avoid assumption of visible
3425         operations on type System.Address (since these might not be available
3426         if Address is a non-private type for which the operations
3427         are made abstract).
3428
3429 2004-04-19  Vincent Celier  <celier@gnat.com>
3430
3431         * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
3432
3433         * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
3434         defaulted to Ada.
3435
3436         * prj-proc.adb (Process): New Boolean parameter Process_Languages,
3437         defaulted to Ada.
3438         Call Check with Process_Languages.
3439         (Check): New Boolean parameter Process_Languages. Call Recursive_Check
3440         with Process_Languages.
3441         (Recursive_Check): New Boolean parameter Process_Languages. Call
3442         Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
3443         Process_Languages.
3444
3445         * prj-proc.ads (Process): New Boolean parameter Process_Languages,
3446
3447         * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
3448         parameter Ada_Main, defaulted to True.
3449         Check for Ada specific characteristics only when Ada_Main is True.
3450
3451         * opt.ads: (Follow_Links): New Boolean flag for gnatmake
3452
3453         * prj.adb: (Project_Empty): Add new Project_Data components.
3454
3455         * prj.ads: New types and tables for non Ada languages.
3456         (Project_Data): New components Languages, Impl_Suffixes,
3457         First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
3458         Include_Path, Include_Data_Set.
3459
3460         * prj-env.ads, prj-env.adb: Minor reformatting
3461
3462         * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
3463         Put subprograms in alphabetical order
3464
3465         * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
3466         defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
3467         Opt.Follow_Links.
3468
3469         * mlib-prj.adb: Back out modification in last version, as they are
3470         incorrect.
3471         (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
3472
3473         * make.adb: (Mains): Moved to package Makeutl
3474         (Linker_Opts): Moved to package Makeutl
3475         (Is_External_Assignment): Moved to package Makeutl
3476         (Test_If_Relative_Path): Moved to package Makeutl
3477         (Gnatmake): Move sorting of linker options to function
3478         Makeutl.Linker_Options_Switches.
3479
3480         * makeutl.ads, makeutl.adb: New files.
3481
3482         * Makefile.in: Add makeutl.o to the object files for gnatmake
3483
3484         * makeusg.adb: Add line for new switch -eL.
3485
3486         * gnatls.adb (Image): New function.
3487         (Output_Unit): If in verbose mode, output the list of restrictions
3488         specified by pragmas Restrictions.
3489
3490         * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
3491         Text_IO.
3492
3493         * a-calend.adb (Split): Shift the date by multiple of 56 years, if
3494         needed, to put it in the range 1970 (included) - 2026 (excluded).
3495         (Time_Of): Do not shift Unix_Min_Year (1970).
3496         Shift the date by multiple of 56 years, if needed, to put it in the
3497         range 1970 (included) - 2026 (excluded).
3498
3499         * adaint.h, adaint.c (__gnat_set_executable): New function.
3500
3501 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3502
3503         * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
3504         and pop GC context.
3505         (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
3506         (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
3507         (tree_transform, case N_Procedure_Call_Statement): Build a tree.
3508         (tree_transform, case N_Code_Statement): Likewise.
3509         (gnat_expand_stmt, case LABEL_STMT): Don't look at
3510         LABEL_STMT_FIRST_IN_EH.
3511         (gnat_expand_stmt, case ASM_STMT): New case.
3512
3513         * utils2.c (build_unary_op): Properly set TREE_READONLY of
3514         UNCONSTRAINED_ARRAY_REF.
3515
3516         * utils.c (poplevel): Temporarily push/pop GC context around inline
3517         function expansion.
3518
3519         * decl.c (maybe_variable): Properly set TREE_READONLY of
3520         UNCONSTRAINED_ARRAY_REF.
3521         (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
3522
3523         * ada-tree.def: (ASM_STMT): New.
3524
3525         * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
3526         (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
3527         ASM_STMT_INPUT): New.
3528         (ASM_STMT_CLOBBER): Likewise.
3529
3530 2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
3531
3532         * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
3533         general rcheck mechanism to raise Program_Error for E.4(18), instead
3534         of a custom raiser in System.Partition_Interface.
3535         Part of general cleanup work before PolyORB integration.
3536
3537         * snames.ads, snames.adb: Add new runtime library entities and names
3538         for PolyORB DSA.
3539
3540         * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
3541         exp_dist.
3542         (Build_Subprogram_Id): New subprogram provided by exp_dist
3543         Code reorganisation in preparation for PolyORB integration.
3544
3545         * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
3546         exp_dist.
3547         (Build_Subprogram_Id): New subprogram provided by exp_dist
3548
3549         * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
3550         actual parameter types for call to dereference of an
3551         access-to-subprogram type.
3552
3553         * rtsfind.ads: Add new runtime library entities and names for PolyORB
3554         DSA.
3555
3556         * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
3557         instead, which has the same behaviour here since we never pass it a
3558         NULL pointer.
3559
3560         * link.c (run_path_option, Solaris case): Use -Wl, as for other
3561         platforms.
3562
3563         * Makefile.in: adjust object file lists for gnatlink and gnatmake
3564         to account for new dependency upon Interfaces.C.Strings + link.o
3565         For x86 FreeBSD, use 86numaux.
3566
3567         * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
3568         from Mlib.Tgt to Mlib.
3569
3570         * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
3571         target-independent.
3572
3573         * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
3574         target-specific versions of this subprogram, now implemented as a
3575         target-independent function in Mlib.
3576
3577         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
3578         5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
3579         (Linker_Library_Path_Option): Remove target-specific versions of this
3580         subprogram, now implemented as a target-independent function in Mlib.
3581
3582         * atree.adb: (Allocate_Initialize_Node): New subprogram.
3583         Factors out node table slots allocation.
3584         (Fix_Parents): New subprogram.
3585         Encapsulate the pattern of fixing up parent pointers for syntactic
3586         children of a rewritten node.
3587         (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
3588         (Rewrite): Use New_Copy when creating saved copy of original node.
3589         (Replace): Use Copy_Node to copy nodes.
3590
3591 2004-04-19  Javier Miranda  <miranda@gnat.com>
3592
3593         * sprint.adb (Sprint_Node_Actual): Give support to the new
3594         Access_To_Subprogram node available in Access_Definition nodes. In
3595         addition, give support to the AI-231 node fields: null-exclusion,
3596         all-present, constant-present.
3597
3598         * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
3599
3600         * sinfo.ads, sinfo.adb:
3601         New field Access_To_Subprogram_Definition in Access_Definition nodes
3602
3603         * sem_ch6.adb (Process_Formals): Move here the code that creates and
3604         decorates internal subtype declaration corresponding to the
3605         null-excluding formal. This code was previously in Set_Actual_Subtypes.
3606         In addition, carry out some code cleanup on this code. In case of
3607         access to protected subprogram call
3608         Replace_Anonymous_Access_To_Protected_Subprogram.
3609         (Set_Actual_Subtypes): Code cleanup.
3610
3611         * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
3612         Find_Type in case of anonymous access renamings. Add warning in case of
3613         null-excluding attribute used in anonymous access renaming.
3614
3615         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
3616         subprogram
3617
3618         * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
3619         subprogram.
3620         (Access_Definition): In case of anonymous access to subprograms call
3621         the corresponding semantic routine to decorate the node.
3622         (Access_Subprogram_Declaration): Addition of some comments indicating
3623         some code that probably should be added here. Detected by comparison
3624         with the access_definition subprogram.
3625         (Analyze_Component_Declaration): In case of access to protected
3626         subprogram call Replace_Anonymous_Access_To_Protected.
3627         (Array_Type_Declaration): In case of access to protected subprogram call
3628         Replace_Anonymous_Access_To_Protected_Subprogram.
3629         (Process_Discriminants): In case of access to protected subprogram call
3630         Replace_Anonymous_Access_To_Protected_Subprogram.
3631
3632         * par.adb (P_Access_Definition): New formal that indicates if the
3633         null-exclusion part was present.
3634         (P_Access_Type_Definition): New formal that indicates if the caller has
3635         already parsed the null-excluding part.
3636
3637         * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
3638         (P_Identifier_Declarations): Code cleanup and give support to renamings
3639         of anonymous access to subprogram types.
3640         (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
3641         (P_Array_Type_Definition): Give support to AI-254.
3642         (P_Component_Items): Give support to AI-254.
3643         (P_Access_Definition): New formal that indicates if the header was
3644         already parsed by the caller.
3645         (P_Access_Type_Definition): New formal that indicates if the caller has
3646         already parsed the null-excluding part.
3647
3648         * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
3649         call to P_Access_Definition.
3650
3651 2004-04-19  Geert Bosch  <bosch@gnat.com>
3652
3653         * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
3654         the delicate semantics of floating-point to integer conversion.
3655         (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
3656
3657         * eval_fat.adb (Machine_Mantissa): Moved to spec.
3658         (Machine_Radix): New function.
3659
3660         * eval_fat.ads (Machine_Mantissa): Moved from body for use in
3661         conversion checks.
3662         (Machine_Radix): New function also for use in conversion checks.
3663
3664 2004-04-19  Ed Schonberg  <schonberg@gnat.com>
3665
3666         * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
3667
3668         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
3669         to decorate the access-to-protected subprogram and the equivalent type.
3670
3671         * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
3672         to anonymous access to subprogram types.
3673
3674         * exp_ch4.adb (Expand_N_In): Preserve Static flag before
3675         constant-folding, for legality checks in contexts that require an RM
3676         static expression.
3677
3678         * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
3679         temporary but stack checking is not enabled, increment serial number
3680         to so that symbol generation is consistent with and without stack
3681         checking.
3682
3683         * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
3684         independent on whether stack checking is enabled, caller must check
3685         the corresponding flag.
3686
3687         * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
3688         range checks.
3689         (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
3690         parent if it has discriminants.
3691         (Build_Derived_Private_Type): Constructed full view does
3692         not come from source.
3693         (Process_Discriminants): Default discriminants on a tagged type are
3694         legal if this is the internal completion of a private untagged
3695         derivation.
3696
3697         * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
3698         no constraint checks, because it corresponds to an existing object.
3699
3700         * sem_prag.adb (Process_Convention): Pragma applies
3701         only to subprograms in the same declarative part, i.e. the same unit,
3702         not the same scope.
3703
3704         * sem_res.adb (Valid_Conversion): In an instance or inlined body,
3705         ignore type mismatch on a numeric conversion if expression comes from
3706         expansion.
3707
3708 2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
3709
3710         * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
3711         Homonym_Number parameter, add processing for Source_Location parameter
3712         corresponding.
3713         (Check_Eliminated): Remove the check for homonym numbers, add the check
3714         for source location traces.
3715
3716         * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
3717         with Arg_Source_Location corresponding to the changes in the format of
3718         the pragma.
3719
3720         * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
3721         Eliminate pragma corresponding to the changes in the format of the
3722         pragma: Homonym_Number is replaced with Source_Location, two ways of
3723         distinguishing homonyms are mutially-exclusive.
3724
3725 2004-04-19  Joel Brobecker  <brobecker@gnat.com>
3726
3727         * get_targ.ads (Get_No_Dollar_In_Label): Remove.
3728
3729         * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
3730         No_Dollar_In_Label, no longer necessary, as it is always True.
3731         (Strip_Suffixes): Likewise.
3732
3733 2004-04-19  Gary Dismukes  <dismukes@gnat.com>
3734
3735         * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
3736         modulus for compatibility with size clause on targets with 16-bit
3737         Integer.
3738
3739         * layout.adb (Discrimify): In the case of private types, set Vtyp to
3740         full type to fix type mismatches on calls to size functions for
3741         discriminant-dependent array components.
3742
3743 2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
3744
3745         * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
3746         lib.
3747
3748 2004-04-19  Pascal Obry  <obry@gnat.com>
3749
3750         * mdll-utl.adb (Locate): New version is idempotent.
3751
3752 2004-04-17  Laurent Guerby <laurent@guerby.net>
3753
3754         PR ada/14988 (partial)
3755         * impunit.adb: Fix typo.
3756
3757 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
3758
3759         * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
3760         and install-rts-cert targets.  Remove all gnatlib and gnattools
3761         targets and all other rts-* targets (moved to libada).  Remove (now)
3762         unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
3763         TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
3764
3765 2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3766
3767         * trans.c (tree_transform): Shortcut returning error_mark_node for
3768         statements in annotate_only_mode.
3769         (tree_transform, case N_Label, case N_Return_Statement,
3770         N_Goto_Statement): Make statement tree instead of generating code.
3771         (tree_transform, case N_Assignment_Statement): No longer check
3772         type_annotate_only.
3773         (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
3774         RETURN_STMT): New.
3775         (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
3776         New fcns.
3777         (gnat_to_gnu): Collect any RTL generated and deal with it.
3778         (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
3779         (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
3780         (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
3781
3782         * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
3783
3784         * ada-tree.def (EXPR_STMT): Fix typo in name.
3785         (BLOCK_STMT, IF_STMT): New nodes.
3786
3787         * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
3788         LABEL_STMT_FIRST_IN_EH): New macros.
3789         (RETURN_STMT_EXPR): Likewise.
3790
3791         * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
3792         IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
3793
3794 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
3795
3796         * atree.ads: Correct documentation on extended nodes.
3797
3798         * link.c: Set run_path_option for FreeBSD.
3799
3800 2004-04-08  Vincent Celier  <celier@gnat.com>
3801
3802         * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
3803         one of the ALI file, do not link with DEC lib.
3804
3805         * par.adb Remove the last two characters ("%s" or "%b") when checking
3806         if a language defined unit may be recompiled.
3807
3808 2004-04-08  Ed Schonberg  <schonberg@gnat.com>
3809
3810         * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
3811         removal of abstract operation leaves no possible interpretation for
3812         expression.
3813
3814         * sem_eval.adb (Eval_Qualified_Expression): Use
3815         Set_Raises_Constraint_Error on node when needed, so that it does not
3816         get optimized away by subsequent optimizations.
3817
3818         * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
3819         operands even when they are not wrapped in a type conversion.
3820
3821 2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
3822
3823         * sem_prag.adb (Set_Exported): Warn about making static as result of
3824         export only when the export is coming from source. This may be not
3825         be true e.g. on VMS where we expand export pragmas for exception codes
3826         together with imported or exported exceptions, and we don't want the
3827         user to be warned about something he didn't write.
3828
3829 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
3830
3831         * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
3832         duplication between normal entities and those declared as renamings.
3833         No functional change.
3834
3835         * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
3836         inline functions returning an unconstrained result.
3837
3838 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
3839
3840         * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
3841         conform to what other front-ends do.
3842
3843 2004-04-08  Doug Rupp  <rupp@gnat.com>
3844
3845         * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
3846         libraries.
3847
3848 2004-04-06  Pascal Obry  <obry@gnat.com>
3849
3850         * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
3851
3852         * osint.adb (Program_Name): Do not look past a directory separator.
3853
3854 2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
3855
3856         * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
3857
3858         * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
3859         requirement for preserving a copy of the original assignment node.
3860
3861         * sinfo.ads: Update comment (Original_Tree -> Original_Node).
3862
3863 2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
3864
3865         (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
3866         when supported.
3867
3868 2004-04-06  Ed Schonberg  <schonberg@gnat.com>
3869
3870         * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
3871         operator calls in functional notation, and apply
3872         Universal_Interpretation to operands, not to their type.
3873
3874 2004-04-06  Robert Dewar  <dewar@gnat.com>
3875
3876         * 5wdirval.adb: Minor reformatting
3877
3878 2004-04-06  Ed Falis  <falis@gnat.com>
3879
3880         * gnat_rm.texi: Improve a reference to the GCC manual
3881
3882 2004-04-05  Vincent Celier  <celier@gnat.com>
3883
3884         * adaint.h, adaint.c: Add function __gnat_named_file_length
3885
3886         * impunit.adb: Add Ada.Directories to the list
3887
3888         * Makefile.in: Add VMS and Windows versions of
3889         Ada.Directories.Validity package body.
3890
3891         * Makefile.rtl: Add a-direct and a-dirval
3892
3893         * mlib-tgt.ads: Minor comment update.
3894
3895         * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
3896         a-direct.ads, a-direct.adb: New files.
3897
3898 2004-04-05  Vincent Celier  <celier@gnat.com>
3899
3900         PR ada/13620
3901         * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
3902         just to the compiler.
3903
3904 2004-04-05  Robert Dewar  <dewar@gnat.com>
3905
3906         * a-except.adb (Exception_Name_Simple): Make sure lower bound of
3907         returned string is 1.
3908
3909         * ali-util.adb: Use proper specific form for Warnings (Off, entity)
3910
3911         * eval_fat.ads: Minor reformatting
3912
3913         * g-curexc.ads: Document that lower bound of returned string values
3914         is always one.
3915
3916         * gnatlink.adb: Add ??? comment for previous change
3917         (need to document why this is VMS specific)
3918
3919         * s-stoele.ads: Minor reformatting
3920
3921         * tbuild.ads: Minor reformatting throughout (new function specs)
3922
3923         * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
3924         after WITH.
3925
3926         * scng.adb: Minor reformatting
3927
3928 2004-04-05  Geert Bosch  <bosch@gnat.com>
3929
3930         * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
3931         (Leading_Part): Still perform truncation to machine number if the
3932         specified radix_digits is greater or equal to machine_mantissa.
3933
3934 2004-04-05  Javier Miranda  <miranda@gnat.com>
3935
3936         * par-ch3.adb: Complete documentation of previous change
3937         Correct wrong syntax documentation of the OBJECT_DECLARATION rule
3938         (aliased must appear before constant).
3939
3940         * par-ch4.adb: Complete documentation of previous change.
3941
3942         * par-ch6.adb: Complete documentation of previous change.
3943
3944         * sinfo.ads: Fix typo in commment.
3945
3946 2004-04-05  Ed Schonberg  <schonberg@gnat.com>
3947
3948         * sem_ch3.adb (Inherit_Components): If derived type is private and has
3949         stored discriminants, use its discriminants to constrain parent type,
3950         as is done for non-private derived record types.
3951
3952         * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
3953         Ada 2005 AI-310: an abstract non-dispatching operation is not a
3954         candidate interpretation in an overloaded call.
3955
3956         * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
3957         expression is Null and target type is not an access type (e.g. a
3958         non-private address type).
3959
3960 2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
3961
3962         * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
3963         statement whose right-hand side is an inlined call, save a copy of the
3964         original assignment subtree to preserve enough consistency for
3965         Analyze_Assignment to proceed.
3966
3967         * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
3968         complete assignment subtree which is now unnecessary, as the expansion
3969         of inlined call has been improved to preserve a consistent assignment
3970         tree.  Note_Possible_Modification must be called only
3971         after checks have been applied, or else unnecessary checks will
3972         be generated.
3973
3974         * sem_util.adb (Note_Possible_Modification): Reorganise the handling
3975         of explicit dereferences that do not Come_From_Source:
3976          - be selective on cases where we must go back to the dereferenced
3977            pointer (an assignment to an implicit dereference must not be
3978            recorded as modifying the pointer);
3979          - do not rely on Original_Node being present (Analyze_Assignment
3980            calls Note_Possible_Modification on a copied tree).
3981
3982         * sem_warn.adb (Check_References): When an unset reference to a pointer
3983         that is never assigned is encountered, prefer '<pointer> may be null'
3984         warning over '<pointer> is never assigned a value'.
3985
3986 2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
3987
3988         * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
3989         the ABI.
3990
3991 2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
3992
3993         * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
3994         libexc. We currently don't reference anything in this library and
3995         linking it in triggers linker warnings we don't want to see.
3996
3997         * init.c: Update comments.
3998
3999 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4000
4001         * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
4002         * utils.c (create_field_decl): Likewise.
4003         * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
4004
4005 2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
4006
4007         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
4008         Replace ifinfo by ifnottex, to make makeinfo --html happy again.
4009         Add info directory entry and category.
4010
4011 2004-04-02  Jan Hubicka  <jh@suse.cz>
4012
4013         * utils.c: Include function.h
4014         (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
4015
4016 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
4017
4018         PR ada/14150
4019         * Make-lang.in: Clean up generation of documentation
4020
4021         * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
4022
4023         * xgnatug.adb: Removed, replaced by xgnatugn.adb
4024
4025         * xgnatugn.adb: Replaces xgnatug.adb
4026
4027         * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
4028
4029         * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
4030
4031         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
4032         gnat_ug_wnt.texi: Removed.
4033
4034 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
4035
4036         * utils2.c: Update copyright notice.
4037
4038 2004-04-01  Robert Dewar  <dewar@gnat.com>
4039
4040         * checks.adb: Minor reformatting throughout
4041         Note that prev checkin added RM reference to alignment warning
4042
4043 2004-04-01  Ed Schonberg  <schonberg@gnat.com>
4044
4045         * exp_aggr.adb (Get_Component_Val): Treat a string literal as
4046         non-static when building aggregate for bit-packed array.
4047
4048         * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
4049         function call that is itself the actual in a procedure call, build
4050         temporary for it.
4051
4052         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
4053         a string literal, create a temporary for it, constant folding only
4054         handles scalars here.
4055
4056 2004-04-01  Vincent Celier  <celier@gnat.com>
4057
4058         * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
4059         Error_Msg_SP): New empty procedures to instantiate the Scanner.
4060         (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
4061         tokens.
4062         (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
4063         (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
4064         and get the checksum.
4065
4066         * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
4067         already in the Q.
4068         Increase the Marking_Label at the end of the Multiple_Main_Loop,
4069         instead of at the beginning.
4070
4071         * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
4072         directly.
4073         (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
4074         on VMS.
4075
4076         * osint.ads (Multi_Unit_Index_Character): New Character global variable
4077
4078         * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
4079         not '~' directly.
4080
4081         * par.adb: Remove test on file name to detect language defined units.
4082         Add test on unit name, after parsing, to detect language defined units
4083         that are not compiled with -gnatg (except System.RPC and its children)
4084
4085         * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
4086         following units without style checking.
4087
4088         * switch-c.adb: Change -gnatC to -gnateI
4089
4090         * usage.adb: Document new switch -gnateInnn
4091
4092         * scng.adb (Accumulate_Token_Checksum): New procedure
4093         (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
4094         word or literal number.
4095         (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
4096         numbers.
4097
4098 2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
4099
4100         * a-tasatt.adb,
4101         g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
4102         switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
4103         5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
4104         5vtpopde.adb: Add missing 'constant' keywords.
4105
4106 2004-04-01  Javier Miranda  <miranda@gnat.com>
4107
4108         * par-ch4.adb: (P_Allocator): Code cleanup
4109
4110         * sem_ch3.adb (Access_Definition): Properly set the null-excluding
4111         attribute.
4112
4113         * sinfo.ads: Complete documentation of previous change
4114
4115 2004-04-01  Pascal Obry  <obry@gnat.com>
4116
4117         * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
4118         only on VMS.  This special handling was done because an old GNU/ld bug
4119         on Windows which has been fixed.
4120
4121 2004-04-01  GNAT Script  <nobody@gnat.com>
4122
4123         * Make-lang.in: Makefile automatically updated
4124
4125 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4126
4127         * decl.c (gnat_to_gnu_entity, make_type_from_size):
4128         Use TYPE_UNSIGNED, not TREE_UNSIGNED.
4129         * trans.c (tree_transform, convert_with_check): Likewise.
4130         * utils.c (gnat_signed_or_unsigned_type): Likewise.
4131         (build_vms_descriptor, unchecked_convert): Likewise.
4132         * utils2.c (nonbinary_modular_operation): Likewise.
4133
4134 2004-03-29  Javier Miranda  <miranda@gnat.com>
4135
4136         * checks.adb (Null_Exclusion_Static_Checks): New subprogram
4137         (Install_Null_Excluding_Check): Local subprogram that determines whether
4138         an access node requires a runtime access check and if so inserts the
4139         appropriate run-time check.
4140         (Apply_Access_Check): Call Install_Null_Excluding check if required
4141         (Apply_Constraint_Check): Call Install_Null_Excluding check if required
4142
4143         * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
4144
4145         * einfo.ads: Fix typo in comment
4146
4147         * exp_ch3.adb (Build_Assignment): Generate conversion to the
4148         null-excluding type to force the corresponding run-time check.
4149         (Expand_N_Object_Declaration): Generate conversion to the null-excluding
4150         type to force the corresponding run-time check.
4151
4152         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
4153         the null-excluding type to force the corresponding run-time check.
4154
4155         * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
4156         case of access types unless they have the null-excluding attribute.
4157
4158         * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
4159         part.
4160
4161         * exp_util.ads: Fix typo in comment
4162
4163         * par.adb (P_Null_Exclusion): New subprogram
4164         (P_Subtype_Indication): New formal that indicates if the null-excluding
4165         part has been scanned-out and it was present
4166
4167         * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
4168
4169         * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
4170         (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
4171         type to force the corresponding run-time check
4172         (Resolve_Aggregate): Propagate the null-excluding attribute to the array
4173         components
4174         (Resolve_Array_Aggregate): Carry out some static checks
4175         (Resolve_Record_Aggregate.Get_Value): Carry out some static check
4176
4177         * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
4178         attribute must be set only if specified by means of the null-excluding
4179         part. In addition, we must also propagate the access-constant attribute
4180         if present.
4181         (Access_Subprogram_Declaration, Access_Type_Declaration,
4182         Analyze_Component_Declaration, Analyze_Object_Declaration,
4183         Array_Type_Declaration, Process_Discriminants,
4184         Analyze_Subtype_Declaration): Propagate the null-excluding attribute
4185         and carry out some static checks.
4186         (Build_Derived_Access_Type): Set the null-excluding attribute
4187         (Derived_Type_Declaration, Process_Subtype): Carry out some static
4188         checks.
4189
4190         * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
4191
4192         * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
4193
4194         * sem_ch6.adb (Process_Formals): Carry out some static checks.
4195         (Set_Actual_Subtypes): Generate null-excluding subtype if the
4196         null-excluding part was present; it is not required to be done here in
4197         case of anonymous access types.
4198         (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
4199         value.
4200
4201         * sem_res.adb (Resolve_Actuals): Carry out some static check
4202         (Resolve_Null): Allow null in anonymous access
4203
4204         * sinfo.adb: New subprogram Null_Exclusion_Present
4205         All_Present and Constant_Present available on access_definition nodes
4206
4207         * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
4208         object_declaration, derived_type_definition, component_definition,
4209         discriminant_specification, access_to_object_definition,
4210         access_function_definition, allocator, access_procedure_definition,
4211         access_definition, parameter_specification, All_Present and
4212         Constant_Present flags available on access_definition nodes.
4213
4214 2004-03-29  Robert Dewar  <dewar@gnat.com>
4215
4216         * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
4217         gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
4218         opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
4219         par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
4220         sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
4221         sem_prag.adb: Updates to handle multiple units/file
4222
4223         * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
4224
4225         * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
4226         sem_util.adb: Minor reformatting
4227
4228         * sem_ch12.adb: Add comment for previous change
4229
4230 2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
4231
4232         * osint.adb (Executable_Prefix): Set Exec_Name to the current
4233         executable name when not initialized. Otherwise, use its current value.
4234
4235         * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
4236         initialize it to another executable name than the current one. This
4237         allows to configure paths for an executable name (gnatmake) different
4238         from the current one (gnatdist).
4239
4240 2004-03-29  Ed Schonberg  <schonberg@gnat.com>
4241
4242         * exp_ch6.adb (Expand_Call): A call to a function declared in the
4243         current unit cannot be inlined if it appears in the body of a withed
4244         unit, to avoid order of elaboration problems in gigi.
4245
4246         * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
4247         information for protected (wrapper) operation as well, to simplify gdb
4248         use.
4249
4250         * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
4251         protected body, indicate that the entity for the generated spec comes
4252         from source, to ensure that references are properly generated for it.
4253         (Build_Body_To_Inline): Do not inline a function that returns a
4254         controlled type.
4255
4256         * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
4257         apply convention to homonyms that are declared explicitly.
4258
4259         * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
4260         that renames an equality operator and the operands are overloaded,
4261         resolve them with the declared formal types, before rewriting as an
4262         operator.
4263
4264 2004-03-29  GNAT Script  <nobody@gnat.com>
4265
4266         * Make-lang.in: Makefile automatically updated
4267
4268 2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
4269
4270         * memtrack.adb: Log realloc calls, which are treated as free followed
4271         by alloc.
4272
4273 2004-03-25  Vincent Celier  <celier@gnat.com>
4274
4275         * prj-makr.adb (Process_Directories): Detect when a file contains
4276         several units. Do not include such files in the config pragmas or
4277         in the naming scheme.
4278
4279         * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
4280         Resolve links only when not in Trusted_Mode.
4281         (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
4282         Do not resolve links for the display names.
4283
4284         * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
4285         resolve links when computing the display names.
4286
4287 2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
4288
4289         * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
4290         attribute reference does not denote a subtype, it can be any
4291         expression that has a classwide type, potentially after an implicit
4292         dereference.  In particular, the prefix can be a view conversion for
4293         a classwide type (for which Is_Object_Reference holds), but it can
4294         also be a value conversion for an access-to-classwide type. In the
4295         latter case, there is an implicit dereference, and the original node
4296         for the prefix does not verify Is_Object_Reference.
4297
4298         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
4299         conversion of a discriminant-dependent component of a mutable object
4300         is one itself.
4301
4302 2004-03-25  Ed Schonberg  <schonberg@gnat.com>
4303
4304         * freeze.adb (Freeze_Entity): When an inherited subprogram is
4305         inherited, has convention C, and has unconstrained array parameters,
4306         place the corresponding warning on the derived type declaration rather
4307         than the original subprogram.
4308
4309         * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
4310         indication on renaming declaration, if formal has a box and actual
4311         is absent.
4312
4313         * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
4314         determine whether to generate an implicit or explicit reference to
4315         the renamed entity.
4316
4317         * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
4318         subprogram renaming comes from a defaulted formal subprogram in an
4319         instance.
4320
4321 2004-03-25  Gary Dismukes  <dismukes@gnat.com>
4322
4323         * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
4324         value expressions to ensure that calls within a component definition
4325         will be checked (since those are evaluated during the record type's
4326         elaboration).
4327
4328 2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
4329
4330         * s-tpobop.adb: Code clean up:
4331         (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
4332         code.
4333         (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
4334
4335 2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
4336
4337         * Makefile.in: Clean up in the ravenscar run time.
4338
4339 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4340
4341         * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
4342         of No_Strict_Aliasing to build_pointer_type_for_mode.
4343         * utils.c (update_pointer_to): Walk pointer and ref chains.
4344
4345 2004-03-22  Cyrille Comar  <comar@act-europe.fr>
4346
4347         * ali.ads: Fix Comment about Dynamic_Elab.
4348
4349         * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
4350         Has_RACW, Is_Generic, etc.)
4351         (Output_Object, Gnatls): Take into account ALI files not attached to
4352         an object.
4353
4354 2004-03-22  Vincent Celier  <celier@gnat.com>
4355
4356         * gprep.adb: Change all String_Access to Name_Id
4357         (Is_ASCII_Letter): new function
4358         (Double_File_Name_Buffer): New procedure
4359         (Preprocess_Infile_Name): New procedure
4360         (Process_Files): New procedure
4361         (Gnatprep): Check if output and input are existing directories.
4362         Call Process_Files to do the real job.
4363
4364 2004-03-22  Robert Dewar  <dewar@gnat.com>
4365
4366         * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
4367         s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
4368
4369 2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
4370
4371         * scn.adb (Contains): Add check for EOF, is needed for a degenerated
4372         case when the source contains only comments.
4373
4374 2004-03-22  Ed Schonberg  <schonberg@gnat.com>
4375
4376         * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
4377         declaration for a child subprogram body that acts as a spec, indicate
4378         that the entity in the declaration needs debugging information.
4379
4380         * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
4381         full view if the subtype is created for a constrained record component;
4382         gigi has enough information to construct the record, and there is no
4383         place in the tree for the declaration.
4384
4385         * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
4386         serial number for the dummy body that is built for analysis, to avoid
4387         inconsistencies in the generation of internal names when compiling
4388         with -gnatN.
4389
4390 2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
4391
4392         * sem_util.adb (Is_Object_Reference): A view conversion denotes an
4393         object.
4394
4395 2004-03-22  GNAT Script  <nobody@gnat.com>
4396
4397         * Make-lang.in: Makefile automatically updated
4398
4399 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4400
4401         * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
4402         * trans.c (tree_transform, emit_index_check): Likewise.
4403         * utils.c (build_template): Likewise.
4404         (max_size, convert): Remove handling of WITH_RECORD_EXPR.
4405         (maybe_unconstrained_array, unchecked_convert): Likewise.
4406         * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
4407         (build_unary_op): Likewise.
4408         (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
4409         (fill_vms_descriptor): Likewise.
4410         (build_call_alloc_dealloc): Likewise.
4411         ALIGN is unsigned.
4412         * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
4413
4414 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
4415
4416         PR other/14630
4417         * gnat_ug.texi: Add info directory category and entry.
4418         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
4419         gnat_ug_wnt.texi: Regenerate.
4420
4421 2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
4422
4423         * ada-tree.h: Update copyright notice.
4424         Minor reformatting.
4425
4426 2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
4427
4428         * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
4429         as regular exception objects and not as mere integers representing the
4430         condition code.  The latter approach required some dynamics to mask off
4431         severity bits, which did not fit well into the GCC table based model.
4432         (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
4433         exception data objects. We don't it and it would conflict with the other
4434         external symbol we have to generate for such exceptions.
4435
4436         * trans.c (tree_transform, case N_Exception_Handler): Remove part of
4437         the special code for VMS exceptions, since these are now represented
4438         as regular exceptions objects.
4439
4440 2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4441
4442         * decl.c (debug_no_type_hash): Remove.
4443         (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
4444         * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
4445
4446 2004-03-19  Laurent Guerby <laurent@guerby.net>
4447
4448         * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
4449         aggregate, allows bootstrap from 3.3 on powerpc-darwin.
4450
4451 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4452
4453         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
4454         (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
4455         (TYPE_RM_SIZE_INT): Directly use type.values.
4456         (TREE_LOOP_ID): Clean up check.
4457         * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
4458         TYPE_VALUES, not TYPE_FIELDS.
4459         * trans.c (convert_with_check): Delay access of bounds of basetype
4460         until sure is numeric.
4461
4462 2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
4463
4464         * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
4465
4466         Code clean up:
4467         * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
4468         5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
4469         Specific.Set instead of direct call to e.g pthread_setspecific.
4470
4471 2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
4472
4473         * adaint.c: Update comments.
4474
4475         * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
4476         GNATLIB_SHARED for FreeBSD.
4477
4478 2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
4479
4480         * init.c [VxWorks]: Do not fix the stack size for the environment task.
4481         When needed (stack checking) the stack size is retrieved
4482         from the VxWorks kernel.
4483
4484         * Makefile.in: Flag -nostdinc is required when building the run time
4485         for avoiding looking for files in the base compiler.
4486         Add the VxWorks specific version of the package body for
4487         System.Stack_checking.Operations (5zstchop.adb).
4488
4489         * Make-lang.in: Add the object file for
4490         System.Stack_Checking.Operations.
4491
4492         * Makefile.rtl: Add object file for the package
4493         System.Stack_Checking.Operations.
4494
4495         * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
4496
4497         * s-stache.ads, s-stache.adb: Move the operations related to stack
4498         checking from this package to package System.Stack_Checking.Operations.
4499         This way, stack checking operations are only linked in the final
4500         executable when using the -fstack-check flag.
4501
4502 2004-03-18  Doug Rupp  <rupp@gnat.com>
4503
4504         * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
4505         Reorganize ifeq's.
4506
4507         * 5qsystem.ads, 5xcrtl.ads: New files.
4508
4509 2004-03-18  Vincent Celier  <celier@gnat.com>
4510
4511         * prj.adb (Reset): Reset hash table Files_Htable
4512
4513         * prj-env.adb (Source_Paths, Object_Paths): New tables.
4514         (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
4515         the procedures Add_To_Path_File.
4516         (Set_Ada_Paths): Accumulate source and object dirs in the tables,
4517         making sure that each directory is present only once and, for object
4518         dirs, when a directory already present is added, the duplicate is
4519         removed and the directory is always put as the last in the table.
4520         Write the path files at the end of these accumulations.
4521
4522         * prj-nmsc.adb (Record_Source): Add source file name in hash table
4523         Files_Htable for all sources.
4524
4525         * prj-proc.adb (Process): Remove restrictions between not directly
4526         related extending projects.
4527
4528 2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
4529
4530         * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
4531         (Find_Sources): Minor speed optimization.
4532
4533         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
4534         parameter Trusted_Mode.
4535
4536 2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
4537
4538         * scn.adb (Determine_License): Take into account a degenerated case
4539         when the source contains only comments.
4540
4541 2004-03-18  Ed Schonberg  <schonberg@gnat.com>
4542
4543         * sem_warn.adb (Check_References): For a warning on a selected
4544         component that does not come from source, locate an uninitialized
4545         component of the record type to produce a more precise error message.
4546
4547 2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
4548
4549         * 3zsoccon.ads: Fix multicast options.
4550
4551         * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
4552         in the spec.
4553
4554 2004-03-15  Robert Dewar  <dewar@gnat.com>
4555
4556         * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
4557         pragma used for a private type.
4558
4559         * lib-xref.adb (Generate_Reference): Do not generate warning if
4560         reference is in a different unit from the pragma Unreferenced.
4561
4562         * 5vtpopde.adb: Minor reformatting
4563         Fix casing of To_Task_ID
4564
4565         * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
4566         flag if we have an unchecked conversion to an access type in the same
4567         unit.
4568
4569 2004-03-15  Geert Bosch  <bosch@gnat.com>
4570
4571         * a-ngcoty.adb (Modulus): In alternate formula for large real or
4572         imaginary parts, use Double precision throughout.
4573
4574         * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
4575         we want to be able to compile run-time with -gnata for testing, but
4576         this may also be instantiated in user code that is compiled with -gnata.
4577
4578 2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
4579
4580         * s-stalib.ads (Exception_Code): New type, to represent Import/Export
4581         codes. Having a separate type for this is useful to enforce consistency
4582         throughout the various run-time units.
4583         (Exception_Data): Use Exception_Code for Import_Code.
4584
4585         * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
4586         Natural and Integer in various places.
4587         (Register_VMS_Exception): Use Base_Code_In to compute the exception code
4588         with the severity bits masked off.
4589         (Register_VMS_Exception): Handle the additional exception data pointer
4590         argument.
4591
4592         * raise.c (_GNAT_Exception structure): Remove the handled_by_others
4593         component, now reflected by an exported accessor.
4594         (is_handled_by): New routine to compute whether the propagated
4595         occurrence matches some handler choice specification. Extracted out of
4596         get_action_description_for, and expanded to take care of the VMS
4597         specifities.
4598         (get_action_description_for): Use is_handled_by instead of an explicit
4599         complex condition to decide if the current choice at hand catches the
4600         propagated occurrence.
4601
4602         * raise.h (Exception_Code): New type for C.
4603
4604         * rtsfind.ads (RE_Id, RE_Unit_Table): Add
4605         System.Standard_Library.Exception_Code, to allow references from the
4606         pragma import/export expander.
4607
4608         * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
4609         New accessors to allow easy access to GNAT exception data
4610         characteristics.
4611         (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
4612         redundant Handled_By_Others component, helper for the personality
4613         routine which will now be able to call the appropriate exception data
4614         accessor instead.
4615
4616         * cstand.adb (Create_Standard): Adjust the type of the Import_Code
4617         component of Standard_Exception_Type to be the closest possible to
4618         Exception_Code in System.Standard_Library, that we cannot get at this
4619         point. Expand a ??? comment to notify that this type node should
4620         probably be rewritten later on.
4621
4622         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
4623         registration call to include a pointer to the exception object in the
4624         arguments.
4625
4626         * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
4627         instead of int and explicit bitmasks.
4628
4629 2004-03-15  Vincent Celier  <celier@gnat.com>
4630
4631         * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
4632         equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
4633
4634         * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
4635         longer needed now that it is in the spec of
4636         System.Tasking.Task_Attributes.
4637
4638         * adaint.h, adaint.c: (__gnat_create_output_file): New function
4639
4640         * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
4641
4642         * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
4643
4644         * make.adb (Gnatmake): Do not check the executable suffix; it is being
4645         taken care of in Scan_Make_Arg.
4646         (Scan_Make_Arg): Add the executable suffix only if the argument
4647         following -o, in canonical case, does not end with the executable
4648         suffix.  When in verbose mode and executable file name does not end
4649         with executable suffix, output the executable name, in canonical case.
4650
4651         * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
4652         to avoid warnings when instantiating Ada.Task_Attributes.
4653         Minor reformating.
4654
4655         * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
4656         in the correct order.
4657
4658         * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
4659         redirect standard output and error to a file for the invocation of the
4660         compiler, then read the file.
4661
4662         * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
4663         directory, instead of the Value.
4664         (Find_Source_Dirs): Remove useless code & comments.
4665
4666 2004-03-15  Ed Schonberg  <schonberg@gnat.com>
4667
4668         * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
4669         tagged type is inherited, and the parent operation is not frozen yet,
4670         force generation of a freeze node for the inherited operation, so the
4671         corresponding dispatch entry is properly initialized.
4672         (Make_Predefined_Primitive_Specs): Check that return type is Boolean
4673         when looking for user-defined equality operation.
4674
4675         * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
4676         boolean when locating primitive equality of tagged component.
4677
4678         * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
4679         bit-aligned field and the right-hand side a string literal, introduce
4680         a temporary before expanding assignment into a loop.
4681
4682         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
4683         priority in full, to ensure that any expanded subepxressions of it are
4684         elaborated in the scope of the init_proc.
4685
4686         * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
4687         after object declaration, skipping over code that may have been
4688         generated for validity checks.
4689
4690         * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
4691         discriminants, ignore the known discriminants of its full view, if
4692         any, to check legality.
4693
4694         * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
4695         component if type has unknown discriminants.
4696         (Analyze_Private_Extension_Declaration): Discriminant constraint is
4697         null if type has unknown discriminants.
4698
4699         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
4700         for end label when present.
4701
4702         * s-fileio.adb (Open): When called with a C_Stream, use given name for
4703         temporary file, rather than an empty string.
4704
4705 2004-03-15  Ed Falis  <falis@gnat.com>
4706
4707         * s-thread.adb: Removed, no longer used.
4708
4709 2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4710
4711         * decl.c (target.h): Now include.
4712         (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
4713         in new build_pointer_from_mode calls for non-fat/non-thin pointer.
4714         (validate_size): For POINTER_TYPE, get smallest size permitted on
4715         machine.
4716
4717         * fe.h: Sort Einfo decls and add Set_Mechanism.
4718
4719         * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
4720         (ada/decl.o): Depends on target.h.
4721
4722         * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
4723         FUNCTION_BOUNDARY; always use TYPE_ALIGN.
4724
4725 2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
4726
4727         * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
4728
4729         * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
4730         Insert_Dereference_Action when rewriting an implicit dereference into
4731         an explicit one, this will be taken care of during expansion of the
4732         explicit dereference.
4733         (Expand_N_Slice): Same. Always do the rewriting, even for the case
4734         of non-packed slices, since the dereference action generated by
4735         expansion of the explicit dereference is needed in any case.
4736         (Expand_N_Selected_Component): When rewriting an implicit dereference,
4737         analyze and resolve the rewritten explicit dereference so it is seen
4738         by the expander.
4739         (Insert_Dereference_Action): This procedure is now called only for the
4740         expansion of an N_Explcit_Dereference_Node. Do insert a check even for
4741         dereferences that do not come from source (including explicit
4742         dereferences resulting from rewriting implicit ones), but do not
4743         recursively insert a check for the dereference nodes contained within
4744         the check.
4745         (Insert_Dereference_Action): Clarify and correct comment.
4746
4747 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
4748
4749         PR ada/14131
4750         Move language detection to the top level.
4751         * config-lang.in: Build by default.
4752
4753 2004-03-05  Robert Dewar  <dewar@gnat.com>
4754
4755         * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
4756
4757         * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
4758         i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
4759         5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
4760         5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
4761         unchecked conversion to spec to avoid warnings.
4762
4763         * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
4764         to Task_ID
4765
4766         * 7stpopsp.adb: Correct casing in To_Task_ID call
4767
4768         * a-strsea.ads, a-strsea.adb: Minor reformatting
4769
4770         * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
4771
4772         * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
4773         Adjust Max_Msg_Length to be clearly large enough.
4774
4775         * fe.h: Define In_Same_Source_Unit
4776
4777         * osint.adb: Add pragma Warnings Off to suppress warnings
4778         * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
4779         aliasing warnings.
4780
4781         * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
4782
4783         * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
4784
4785         * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
4786
4787         * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
4788
4789         * sem_prag.adb: Implement pragma No_Strict_Aliasing.
4790
4791         * sinfo.ads: Remove obsolete comment on validate unchecked conversion
4792         node. We now do generate them for gcc back end.
4793
4794         * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
4795         warning.
4796
4797         * sinput-c.adb: Fix bad name in header.
4798         Add pragma Warnings Off to suppress aliasing warning.
4799
4800         * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
4801
4802         * snames.h, snames.ads, snames.adb: Add entry for pragma
4803         No_Strict_Aliasing.
4804
4805 2004-03-05  Vincent Celier  <celier@gnat.com>
4806
4807         * prj-com.ads: Add hash table Files_Htable to check when a file name
4808         is already a source of another project.
4809
4810         * prj-nmsc.adb (Record_Source): Before recording a new source, check
4811         if its file name is not already a source of another project. Report an
4812         error if it is.
4813
4814         * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
4815         source file name, call gnatpp with all the sources of the main project.
4816
4817         * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
4818         of file names.
4819
4820         * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
4821         NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
4822         /RUNTIME_SYSTEM=, converted to --RTS=
4823         /NOTABS, converted to -notabs
4824
4825 2004-03-05  Pascal Obry  <obry@gnat.com>
4826
4827         * make.adb: Minor reformatting.
4828
4829 2004-03-05  Ed Schonberg  <schonberg@gnat.com>
4830
4831         Part of implemention of AI-262.
4832         * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
4833
4834         * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
4835         procedure.
4836
4837         * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
4838         when component type is a partially constrained class-wide subtype.
4839         (Constrain_Discriminated_Type): If parent type has unknown
4840         discriminants, a constraint is illegal, even if full view has
4841         discriminants.
4842         (Build_Derived_Record_Type): Inherit discriminants when deriving a type
4843         with unknown discriminants whose full view is a discriminated record.
4844
4845         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
4846         flag, to handle properly derivations of tagged types with unknown
4847         discriminants.
4848         (Analyze_Package_Spec, Analyze_Package_Body): Install
4849         Private_With_Clauses before analyzing private part or body.
4850
4851         * einfo.ads: Indicate that both Has_Unknown_Discriminants and
4852         Has_Discriminants can be true for a given type (documentation).
4853
4854 2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
4855
4856         * s-restri.ads: Fix license (GPL->GMGPL).
4857
4858         * s-tassta.adb: Minor reformatting.
4859
4860         * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
4861         by calls to Exit_One_ATC_Level, since additional clean up is performed
4862         by this function.
4863
4864         * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
4865         by calls to Exit_One_ATC_Level, since additional clean up is performed
4866         by this function.
4867
4868 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4869
4870         * trans.c: Reflect GCC changes to fix bootstrap problem.
4871         Add warning for suspicious aliasing unchecked conversion.
4872
4873 2004-03-05  GNAT Script  <nobody@gnat.com>
4874
4875         * Make-lang.in: Makefile automatically updated
4876
4877 2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
4878
4879         * ali.adb (Read_Instantiation_Instance): Do not modify the
4880         current_file_num when reading information about instantiations, since
4881         this corrupts files in later references.
4882
4883 2004-03-02  Vincent Celier  <celier@gnat.com>
4884
4885         * bcheck.adb (Check_Consistency): Get the full path of an ALI file
4886         before checking if it is read-only.
4887
4888         * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
4889         of SRC_DIRS and eliminate duplicates.
4890
4891         * gprcmd.adb: Replace command "path" with command "path_sep" to return
4892         the path separator.
4893         (Usage): Document path_sep
4894
4895         * Makefile.generic: For Ada and GNU C++ cases, link directly with the
4896         C++ compiler. No need for a script.
4897         Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
4898         Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
4899         subst.
4900
4901         * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
4902         where there are Ada sources.
4903         (Set_Ada_Paths): Only add to the include path the source dirs of project
4904         with Ada sources.
4905         (Add_To_Path): Add the Display_Values of the directories, not their
4906         Values.
4907
4908         * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
4909         data.
4910
4911         * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
4912         is not No_Name.
4913         (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
4914         Value is canonicalized.
4915         (Language_Independent_Check): Do not copy Value to Display_Value when
4916         canonicalizing Value.
4917
4918         * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
4919         path to find limited with cycles.
4920         (Parse_Single_Project): Use canonical cased path to find the end of a
4921         with cycle.
4922
4923 2004-03-02  Ed Schonberg  <schonberg@gnat.com>
4924
4925         * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
4926         and not a child unit.
4927
4928         * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
4929         appear in a with_clause.
4930
4931         * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
4932         only happen in type_annotate mode, do not try to elaborate it.
4933
4934         * exp_util.adb (Force_Evaluation): If expression is a selected
4935         component on the left of an assignment, use a renaming rather than a
4936         temporary to remove side effects.
4937
4938         * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
4939         inlined instance body, which is analyzed before the end of the
4940         enclosing scope.
4941
4942 2004-03-02  Robert Dewar  <dewar@gnat.com>
4943
4944         * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
4945         sem_ch4.adb: Use new feature for substitution of keywords in VMS
4946
4947         * errout.ads, errout.adb: Implement new circuit for substitution of
4948         keywords in VMS.
4949
4950         * sem_case.adb (Analyze_Choices): Place message properly when case is
4951         a subtype reference rather than an explicit range.
4952
4953         * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
4954
4955 2004-03-02  Doug Rupp  <rupp@gnat.com>
4956
4957         * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
4958
4959 2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
4960
4961         * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
4962
4963 2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4964
4965         * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
4966         BLKmode bitfield.
4967
4968 2004-02-25  Robert Dewar  <dewar@gnat.com>
4969
4970         * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
4971         55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
4972         5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
4973         5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
4974         5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
4975         5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
4976         the defining instance of the type to avoid aliasing problems.
4977         Fix copyright header.  Fix bad comments in package header.
4978
4979         * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
4980
4981 2004-02-25  Ed Schonberg  <schonberg@gnat.com>
4982
4983         * exp_ch2.adb (Param_Entity): Handle properly formals that have been
4984         rewritten as references when aliased through an address clause.
4985
4986         * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
4987         whether call can be interpreted as an indirect call to the result of a
4988         parameterless function call returning an access subprogram.
4989
4990 2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
4991
4992         Code clean up:
4993         * exp_ch7.adb (Make_Clean): Remove generation of calls to
4994         Unlock[_Entries], since this is now done by Service_Entries directly.
4995
4996         * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
4997
4998         * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
4999         Requeue_Call for better code readability. Change spec and update calls:
5000         PO_Service_Entries now unlock the PO on exit.
5001         (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
5002         PO_Service_Entries.
5003
5004         * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
5005
5006         * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
5007
5008 2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
5009
5010         * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
5011         protected subprogram call and analyzing the result of such expanding
5012         in case when the called protected subprogram is eliminated.
5013
5014         * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
5015         names.
5016
5017 2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
5018
5019         * Makefile.in: Clean ups.
5020
5021 2004-02-23  Ed Schonberg  <schonberg@gnat.com>
5022
5023         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
5024         protected operations if original subprogram is flagged as eliminated.
5025         (Expand_N_Subprogram_Body): For a protected operation, create
5026         discriminals for next operation before checking whether the operation
5027         is eliminated.
5028
5029         * exp_ch9.adb (Expand_N_Protected_Body,
5030         Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
5031         for internal protected operations if the original subprogram is
5032         eliminated.
5033
5034         * sem_elim.adb (Check_Eliminated): Handle properly protected operations
5035         declared in a single protected object.
5036
5037 2004-02-23  Vincent Celier  <celier@gnat.com>
5038
5039         * prj-attr.adb: Make attribute Builder'Executable an associative array,
5040         case insensitive if file names are case insensitive, instead of a
5041         standard associative array.
5042
5043         * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
5044         them as case insensitive on platforms where the file names are case
5045         sensitive.
5046
5047         * prj-part.adb (Parse_Single_Project): Make sure, when checking if
5048         project file has already been parsed that canonical path are compared.
5049
5050 2004-02-23  Robert Dewar  <dewar@gnat.com>
5051
5052         * sinput-c.ads: Correct bad unit title in header
5053
5054         * freeze.adb: Minor reformatting
5055
5056 2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5057
5058         * trans.c (tree_transform, case N_Procedure_Call_Statement): For
5059         nonaddressable COMPONENT_REF that is removing padding that we are
5060         taking the address of, take the address of the padded record instead
5061         if item is variable size.
5062
5063 2004-02-20  Robert Dewar  <dewar@gnat.com>
5064
5065         * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
5066
5067 2004-02-20  Ed Schonberg  <schonberg@gnat.com>
5068
5069         * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
5070         itype references for the constrained designated type of a component
5071         whose base type is already frozen.
5072
5073 2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
5074
5075         * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
5076         avoid GCC warnings.
5077
5078 2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
5079
5080         * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
5081         identifier for a phantom package that rewrites the formal package
5082         declaration with a box. The Add semantic decorations for the defining
5083         identifier from the original node (that represents the formal package).
5084
5085 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
5086
5087         * Make-lang.in (ada/stamp-sdefault): Use the top level
5088         move-if-change.
5089
5090 2004-02-19  Richard Henderson  <rth@redhat.com>
5091
5092         * misc.c (record_code_position): Add third build arg for RTL_EXPR.
5093
5094 2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
5095
5096         * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
5097         Scan_ALI can be used for multiple ALI files without reinitializing
5098         between calls.
5099
5100 2004-02-18  Robert Dewar  <dewar@gnat.com>
5101
5102         * debug.adb: Minor reformatting.
5103
5104 2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5105
5106         * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
5107         to zero if there is an address clause.
5108
5109 2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
5110
5111         * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
5112
5113 2004-02-18  Gary Dismukes  <dismukes@gnat.com>
5114
5115         * layout.adb (Layout_Component_List): Revise generation of call to
5116         discriminant-checking function to pass selections of all of the type's
5117         discriminants rather than just the variant-controlling discriminant.
5118
5119 2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
5120
5121         * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
5122         fail in the current setup and triggers spurious system error messages.
5123         Pretend it occurred and failed instead.
5124
5125 2004-02-18  Vincent Celier  <celier@gnat.com>
5126
5127         * bld.adb: Mark FLDFLAGS as saved
5128         (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
5129         it is not the root project.  Put each directory to be
5130         extended between double quotes to prevent it to be expanded on Windows.
5131         (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
5132         the project file. Set them back to their initial values if they have not
5133         been set in the project file.
5134
5135         * gprcmd.adb: (Gprdebug, Debug): New global variables
5136         (Display_Command): New procedure
5137         (Usage): Document new command "linkopts"
5138         Call Display_Command when env var GPRDEBUG has the value "TRUE"
5139         Implement new command "linkopts"
5140         Remove quotes that may be around arguments for "extend"
5141         Always call Normalize_Pathname with arguments formatted for the platform
5142
5143         * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
5144         Change @echo to @$(display) in target clean to be able to clean silently
5145
5146         * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
5147
5148         * prj-part.adb (Project_Path_Name_Of): Do not put final result in
5149         canonical case.
5150
5151         * prj-part.adb (Parse_Single_Project): Always call with From_Extended
5152         = Extending_All when current project is an extending all project.
5153
5154         * vms_conv.adb (Output_File_Expected): New Boolean global variable,
5155         set to True only for LINK command, after Unix switch -o.
5156         (Process_Arguments): Set Output_File_Expected to True for LINK command
5157         after Unix switch -o. When Output_File_Expected is True, never add an
5158         extension to a file name.
5159
5160         * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
5161         option file name, only to the --for-linker= switch.
5162         (Option_File_Name): If option file name do not end with ".opt", append
5163         "/OPTIONS".
5164
5165 2004-02-18  GNAT Script  <nobody@gnat.com>
5166
5167         * Make-lang.in: Makefile automatically updated
5168
5169 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
5170
5171         * Make-lang.in (stamp-sdefault): Do not depend on
5172         move-if-change.
5173
5174 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
5175
5176         * config-lang.in: Disable Ada by default until probe logic for
5177         a bootstrap Ada compiler can be moved to the top level configure
5178         script.
5179
5180 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
5181
5182         * decl.c (components_to_record): Don't claim that the internal fields
5183         we make to hold the variant parts are semantically addressable, because
5184         they are not.
5185
5186         * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
5187         adjust the comment describing the modular type form when we can use it.
5188         (Install_PAT): Account for the Esiz renaming.
5189
5190         * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
5191         sc_onstack context indication before raising the exception to which
5192         the signal is mapped. Allows better handling of later signals possibly
5193         triggered by the resumed user code if the exception is handled.
5194
5195 2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
5196
5197         * 5zinit.adb: Removed, no longer used.
5198
5199 2004-02-12  Robert Dewar  <dewar@gnat.com>
5200
5201         * ali.adb: Remove separating space between parameters on R line. Makes
5202         format consistent with format used by the binder for Set_Globals call.
5203
5204         * atree.ads, atree.adb: Minor reformatting (new function header format)
5205
5206         * bindgen.adb: Add Run-Time Globals documentation section containing
5207         detailed documentation of the globals passed from the binder file to
5208         the run time.
5209
5210         * gnatls.adb: Minor reformatting
5211
5212         * init.c (__gnat_set_globals): Add note pointing to documentation in
5213         bindgen.
5214
5215         * lib-writ.ads, lib-writ.adb: Remove separating space between
5216         parameters on R line.
5217         Makes format consistent with format used by the binder for Set_Globals
5218         call.
5219
5220         * osint.ads: Add 2004 to copyright notice
5221         Minor reformatting
5222
5223         * snames.ads: Correct capitalization of FIFO_Within_Priorities
5224         Noticed during code reading, documentation issue only
5225
5226         * usage.adb: Remove junk line for obsolete C switch
5227         Noticed during code reading
5228
5229 2004-02-12  Vincent Celier  <celier@gnat.com>
5230
5231         * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
5232         extend for each directory, so that multiple /** directories are
5233         extended individually.
5234         (Recursive_Process): Set the default for LANGUAGES to ada
5235
5236         * gprcmd.adb: Define new command "ignore", to do nothing.
5237         Implement new comment "path".
5238
5239         * Makefile.generic: Suppress output when SILENT is set
5240         Make sure that when compiler for C/C++ is gcc, the correct -x switch is
5241         used, so that the correct compiler is invoked.
5242         When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
5243         CXX_INCLUDE_PATH, to avoid failure with too long command lines.
5244
5245 2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
5246
5247         * Makefile.in: Clean ups and remove obsolete targets.
5248
5249 2004-02-12  Ed Schonberg  <schonberg@gnat.com>
5250
5251         * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
5252         predicate declared in exp_util.
5253
5254         * exp_util.adb: Add comments.
5255
5256         * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
5257         visibility before compiling context of the subunit.
5258
5259         * sem_res.adb (Check_Parameterless_Call): If the context expects a
5260         value but the name is a procedure, do not attempt to analyze as a call,
5261         in order to obtain more telling diagnostics.
5262
5263         * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
5264         'Access on parameterless function calls.
5265         (Normalize_Actuals): For a parameterless function call with missing
5266         actuals, defer diagnostic until resolution of enclosing call.
5267
5268         * sem_util.adb (Wrong_Type): If the context type is an access to
5269         subprogram and the expression is a procedure name, suggest a missing
5270         'attribute.
5271
5272 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
5273             Nathanael Nerode  <neroden@gcc.gnu.org>
5274
5275         PR ada/6637, PR ada/5911
5276         Merge with libada-branch:
5277         * config-lang.in: Build libada only when ada is built.
5278
5279 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
5280
5281         * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
5282         for a tagged type, verify that both formals have the same type.
5283
5284         * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
5285         temporary when the formal is an in-parameter and the actual a possibly
5286         unaligned slice.
5287
5288         * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
5289         when expansion is disabled, to ensure proper name capture with
5290         overloaded literals.  Condition can be of any boolean type, resolve
5291         accordingly.
5292
5293         * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
5294         renaming is for a formal subprogram with a default operator name, and
5295         there is a usable operator that is visible at the point of
5296         instantiation.
5297
5298 2004-02-09  Robert Dewar  <dewar@gnat.com>
5299
5300         * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
5301         rewrite to ignore errors in ali files, intended to allow tools downward
5302         compatibility with new versions of ali files.
5303
5304         * ali.ads: Add new parameter Ignore_Errors
5305
5306         * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
5307         duplicating the error message giving the file with restrictions.
5308
5309         * debug.adb: Add debug flag I for gnatbind
5310
5311         * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
5312         operators for the case where the operator is a defining operator.
5313
5314         * exp_ch3.adb: Minor reformatting (new function spec format).
5315
5316         * exp_ch4.adb: Add comment for previous change, and make minor
5317         adjustment to loop to always check for improper loop termination.
5318         Minor reformatting throughout (new function spec format).
5319
5320         * gnatbind.adb: Implement -di debug flag for gnatbind
5321
5322         * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
5323
5324         * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
5325
5326         * lib-load.adb: Fix bad assertion.
5327         Found by testing and code reading.
5328         Minor reformatting.
5329
5330         * lib-load.ads: Minor reformatting.
5331
5332         * lib-writ.adb: There is only one R line now.
5333
5334         * lib-writ.ads: Add documentation on making downward compatible changes
5335         to ali files so old tools work with new ali files.
5336         There is only one R line now.
5337         Add documentation on format incompatibilities (with special GPS note)
5338
5339         * namet.ads, namet.adb: (Is_Operator_Name): New procedure
5340
5341         * par-load.adb: Minor reformatting
5342
5343         * sem_ch8.adb: Fix to error message from last update
5344         Minor reformatting and restructuring of code from last update
5345
5346         * par-prag.adb, snames.adb, snames.ads, snames.h,
5347         sem_prag.adb: Implement pragma Profile.
5348
5349         * stylesw.adb: Implement -gnatyN switch to turn off all style check
5350         options.
5351
5352         * usage.adb: Add line for -gnatyN switch
5353
5354         * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
5355
5356 2004-02-09  Albert Lee  <lee@gnat.com>
5357
5358         * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
5359
5360 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
5361
5362         * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
5363         slices.
5364
5365         * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
5366         is nested in an instance that is not frozen yet, to avoid
5367         order-of-elaboration problems in gigi.
5368
5369         * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
5370         body the attribute is legal.
5371
5372 2004-02-09  Robert Dewar  <dewar@gnat.com>
5373
5374         * s-rident.ads: Minor comment correction
5375
5376         * targparm.adb: Remove dependence on uintp completely. There was
5377         always a bug in Make in that it called Targparm before initializing
5378         the Uint package. The old code appeared to get away with this, but
5379         the new code did not! This caused an assertion error in gnatmake.
5380
5381         * targparm.ads: Fix bad comment, restriction pragmas with parameters
5382         are indeed fully supported.
5383
5384 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
5385
5386         * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
5387
5388 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
5389
5390         * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
5391         with targetm.calls.promote_prototypes.
5392
5393 2004-02-04  Robert Dewar  <dewar@gnat.com>
5394
5395         * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
5396         ali.ads, gprcmd.adb: Minor reformatting
5397
5398         * bindgen.adb: Output restrictions string for new style restrictions
5399         handling
5400
5401         * impunit.adb: Add s-rident.ads (System.Rident) and
5402         s-restri (System.Restrictions)
5403
5404         * lib-writ.adb: Fix bug in writing restrictions string (last few
5405         entries wrong)
5406
5407         * s-restri.ads, s-restri.adb: Change name Restrictions to
5408         Run_Time_Restrictions to avoid conflict with package name.
5409         Add circuit to read and acquire run time restrictions.
5410
5411 2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
5412
5413         * restrict.ads, restrict.adb: Use the new restriction
5414         No_Task_Attributes_Package instead of the old No_Task_Attributes.
5415
5416         * sem_prag.adb: No_Task_Attributes is a synonym of
5417         No_Task_Attributes_Package.
5418
5419         * snames.ads, snames.adb: New entry for proper handling of
5420         No_Task_Attributes.
5421
5422         * s-rident.ads: Adding restriction No_Task_Attributes_Package
5423         (AI-00249) that supersedes the GNAT specific restriction
5424         No_Task_Attributes.
5425
5426 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
5427
5428         * sem_prag.adb:
5429         (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
5430          body, an identifier may be wrapped in an unchecked conversion.
5431
5432 2004-02-04  Vincent Celier  <celier@gnat.com>
5433
5434         * lib-writ.ads: Comment update for the W lines
5435
5436         * bld.adb: (Expression): An empty string list is static
5437
5438         * fname-uf.adb: Minor comment update
5439
5440         * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
5441
5442         * gnatbind.adb: Initialize Cumulative_Restrictions with the
5443         restrictions on the target.
5444
5445 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
5446
5447         * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
5448         gen_rtx.
5449
5450 2004-02-02  Arnaud Charlet  <charlet@gnat.com>
5451
5452         * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
5453
5454 2004-02-02  Vincent Celier  <celier@gnat.com>
5455
5456         * gprcmd.adb (Check_Args): If condition is false, print the invoked
5457         comment before the usage.
5458         Gprcmd: Fail when command is not recognized.
5459         (Usage): Document command "prefix"
5460
5461         * g-md5.adb (Digest): Process last block.
5462         (Update): Do not process last block. Store remaining characters and
5463         length in Context.
5464
5465         * g-md5.ads (Update): Document that several call to update are
5466         equivalent to one call with the concatenated string.
5467         (Context): Add fields to allow new Update behaviour.
5468
5469         * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
5470         defaulted to False.
5471         When May_Fail is True and no existing file can be found, return No_File.
5472
5473         * 6vcstrea.adb: Inlined functions are now wrappers to implementation
5474         functions.
5475
5476         * lib-writ.adb (Write_With_Lines): When body file does not exist, use
5477         spec file name instead on the W line.
5478
5479 2004-02-02  Robert Dewar  <dewar@gnat.com>
5480
5481         * ali.adb: Read and acquire info from new format restrictions lines
5482
5483         * bcheck.adb: Add circuits for checking restrictions with parameters
5484
5485         * bindgen.adb: Output dummy restrictions data
5486         To be changed later
5487
5488         * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
5489         exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
5490         freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
5491         sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
5492         sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
5493
5494         * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
5495         the warning message on access to possibly uninitialized variable S)
5496         Minor changes for new restrictions handling.
5497
5498         * gnatbind.adb: Minor reformatting
5499         Minor changes for new restrictions handling
5500         Move circuit for -r processing here from bcheck (cleaner)
5501
5502         * gnatcmd.adb, gnatlink.adb: Minor reformatting
5503
5504         * lib-writ.adb: Output new format restrictions lines
5505
5506         * lib-writ.ads: Document new R format lines for new restrictions
5507         handling.
5508
5509         * s-restri.ads/adb: New files
5510
5511         * Makefile.rtl: Add entry for s-restri.ads/adb
5512
5513         * par-ch3.adb: Fix bad error messages starting with upper case letter
5514         Minor reformatting
5515
5516         * restrict.adb: Major rewrite throughout for new restrictions handling
5517         Major point is to handle restrictions with parameters
5518
5519         * restrict.ads: Major changes in interface to handle restrictions with
5520         parameters. Also generally simplifies setting of restrictions.
5521
5522         * snames.ads/adb: New entry for proper handling of No_Requeue
5523
5524         * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
5525         restriction counting.
5526         Other minor changes for new restrictions handling
5527
5528         * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
5529         Restriction_Warnings now allows full parameter notation
5530         Major rewrite of Restrictions for new restrictions handling
5531
5532 2004-02-02  Javier Miranda  <miranda@gnat.com>
5533
5534         * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
5535         syntax rule for object renaming declarations.
5536         (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
5537         component definitions.
5538
5539         * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
5540         components.
5541         (Array_Type_Declaration): Give support to access components. In addition
5542         it was also modified to reflect the name of the object in anonymous
5543         array types. The old code did not take into account that it is possible
5544         to have an unconstrained anonymous array with an initial value.
5545         (Check_Or_Process_Discriminants): Allow access discriminant in
5546         non-limited types.
5547         (Process_Discriminants): Allow access discriminant in non-limited types
5548         Initialize the new Access_Definition field in N_Object_Renaming_Decl
5549         node.  Change Ada0Y to Ada 0Y in comments
5550
5551         * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
5552         equality operators.
5553         Change Ada0Y to Ada 0Y in comments
5554
5555         * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
5556         renamings Change Ada0Y to Ada 0Y in comments
5557
5558         * sem_type.adb (Find_Unique_Type): Give support to the equality
5559         operators for universal access types
5560         Change Ada0Y to Ada 0Y in comments
5561
5562         * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
5563
5564         * sinfo.ads (N_Component_Definition): Addition of Access_Definition
5565         field.
5566         (N_Object_Renaming_Declaration): Addition of Access_Definition field
5567         Change Ada0Y to Ada 0Y in comments
5568
5569         * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
5570         component definition and object renaming nodes
5571         Change Ada0Y to Ada 0Y in comments
5572
5573 2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
5574
5575         * restrict.adb: Use the new restriction identifier
5576         No_Requeue_Statements instead of the old No_Requeue for defining the
5577         restricted profile.
5578
5579         * sem_ch9.adb (Analyze_Requeue): Check the new restriction
5580         No_Requeue_Statements.
5581
5582         * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
5583         that supersedes the GNAT specific restriction No_Requeue. The later is
5584         kept for backward compatibility.
5585
5586 2004-02-02  Ed Schonberg  <schonberg@gnat.com>
5587
5588         * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
5589         5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
5590         pragma and fix incorrect ones.
5591
5592         * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
5593         warning if the pragma is redundant.
5594
5595 2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
5596
5597         * 5staprop.adb: Add missing 'constant' keywords.
5598
5599         * Makefile.in: use consistent value for SYMLIB on
5600         platforms where libaddr2line is supported.
5601
5602 2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5603
5604         * utils.c (end_subprog_body): Do not call rest_of_compilation if just
5605         annotating types.
5606
5607 2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
5608
5609         * init.c (__gnat_install_handler): Setup an alternate stack for signal
5610         handlers in the environment thread. This allows proper propagation of
5611         an exception on stack overflows in this thread even when the builtin
5612         ABI stack-checking scheme is used without support for a stack reserve
5613         region.
5614
5615         * utils.c (create_field_decl): Augment the head comment about bitfield
5616         creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
5617         here, because the former is not accurate enough at this point.
5618         Let finish_record_type decide instead.
5619         Don't make a bitfield if the field is to be addressable.
5620         Always set a size for the field if the record is packed, to ensure the
5621         checks for bitfield creation are triggered.
5622         (finish_record_type): During last pass over the fields, clear
5623         DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
5624         not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
5625         from DECL_BIT_FIELD.
5626
5627 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
5628
5629         * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
5630         (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
5631         (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
5632
5633 2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5634
5635         * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
5636
5637         * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
5638         (ZCX_By_Default): Likewise.
5639         (Front_End_ZCX_Support): Likewise.
5640
5641         * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
5642         (Initialize_Lock): Mark Level unreferenced.
5643         (Sleep): Mark Reason unreferenced.
5644         (Timed_Sleep): Likewise.
5645         (Wakeup): Likewise.
5646         (Exit_Task): Use Result.
5647         (Check_No_Locks): Mark Self_ID unreferenced.
5648
5649         * 5gtasinf.adb (New_Sproc): Make Attr constant.
5650         (Bound_Thread_Attributes): Make Sproc constant.
5651         (New_Bound_Thread_Attributes): Likewise.
5652
5653 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
5654
5655         * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
5656         one-dimensional array an slice assignments, when component type is
5657         controlled.
5658
5659         * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
5660         component type is controlled, and control_actions are in effect, use
5661         TSS procedure rather than generating inline code.
5662
5663         * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
5664         arrays with controlled components.
5665
5666 2004-01-26  Vincent Celier  <celier@gnat.com>
5667
5668         * gnatcmd.adb (GNATCmd): Add specification of argument file on the
5669         command line for the non VMS case.
5670
5671         * gnatlink.adb (Process_Binder_File): When building object file, if
5672         GNU linker is used, put all object paths between quotes, to prevent ld
5673         error when there are unusual characters (such as '!') in the paths.
5674
5675         * Makefile.generic: When there are sources in Ada and the main is in
5676         C/C++, invoke gnatmake with -B, instead of -z.
5677
5678         * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
5679         from VMS_Conversion.
5680         (Process_Argument): New procedure, extracted from VMS_Conversion. Add
5681         specification of argument file on the command line.
5682
5683 2004-01-26  Bernard Banner  <banner@gnat.com>
5684
5685         * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
5686
5687 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
5688
5689         * snames.adb: Update copyright notice.
5690         Add info on slice assignment for controlled arrays.
5691
5692 2004-01-23  Robert Dewar  <dewar@gnat.com>
5693
5694         * exp_aggr.adb: Minor reformatting
5695
5696         * exp_ch9.adb: Minor code clean up
5697         Minor reformatting
5698         Fix bad character in comment
5699
5700         PR ada/13471
5701         * targparm.adb (Get_Target_Parameters): Give clean abort error on
5702         unexpected end of file, along with more detailed message.
5703
5704 2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5705
5706         * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
5707         PAT.
5708
5709         * decl.c (copy_alias_set): New function.
5710         (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
5711
5712 2004-01-23  Doug Rupp  <rupp@gnat.com>
5713
5714         * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
5715         lib$${file} in case subsequent character is not a separator.
5716
5717 2004-01-23  Vincent Celier  <celier@gnat.com>
5718
5719         * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
5720         when the GCC version is at least 3.
5721
5722         * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
5723         Remove all "Opt.", to prepare for opt split
5724
5725         * prj-part.adb (Parse_Single_Project): New Boolean out parameter
5726         Extends_All. Set to True when the project parsed is an extending all
5727         project. Fails for importing an extending all project only when the
5728         imported project is an extending all project.
5729         (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
5730         depending on the value of Extends_All returned.
5731
5732         * prj-proc.adb (Process): Check that no project shares its object
5733         directory with a project that extends it, directly or indirectly,
5734         including a virtual project.
5735         Check that no project extended by another project shares its object
5736         directory with another also extended project.
5737
5738         * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
5739         Kind = N_With_Clause
5740
5741         * prj-tree.ads: Minor reformatting
5742         Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
5743
5744 2004-01-23  Ed Schonberg  <schonberg@gnat.com>
5745
5746         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
5747         applies to a type with an incomplete view, use full view in Name of
5748         clause, for consistency with uses of Get_Attribute_Definition_Clause.
5749
5750 2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
5751
5752         * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
5753         SCHED_RR, since other values are not supported by this policy.
5754         (Initialize): Move initialization of mutex attribute to package
5755         elaboration, to prevent early access to this variable.
5756
5757         * Makefile.in: Remove mention of Makefile.adalib, unused.
5758
5759         * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
5760         1ssecsta.ads: Removed, unused.
5761
5762 2004-01-21  Javier Miranda  <miranda@gnat.com>
5763
5764         * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
5765         entity if already built in the current scope.
5766
5767         * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
5768         reminder in internal scopes. Required for nested limited aggregates.
5769
5770 2004-01-21  Doug Rupp  <rupp@gnat.com>
5771
5772         * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
5773         VMS. Replace all occurences of libgnat- and libgnarl- with
5774         libgnat$(hyphen) and libgnarl$(hyphen).
5775         Fixed shared library build problem on VMS.
5776
5777 2004-01-21  Robert Dewar  <dewar@gnat.com>
5778
5779         * mlib-prj.adb: Minor reformatting
5780
5781 2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
5782
5783         * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
5784         'constant' keywords for declaration of pointers that are not modified.
5785
5786         * exp_pakd.adb: Fix English in comment.
5787
5788 2004-01-21  Ed Schonberg  <schonberg@gnat.com>
5789
5790         PR ada/10889
5791         * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
5792         copy all attributes of the parent, including the foreign language
5793         convention.
5794
5795 2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
5796
5797         PR ada/10565
5798         * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
5799         for 'delay until' statement.
5800
5801 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
5802
5803         * Make-lang.in: Replace $(docdir) with doc.
5804         (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
5805         doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
5806         to use consistent MAKEINFO rule.
5807         (ada.man, ada.srcman): Dummy entry.
5808         (ADA_INFOFILES): Define.
5809         (ada.info, ada.srcinfo): New rules.
5810
5811 2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
5812
5813         * utils.c: Update copyright notice, missed in previous change.
5814
5815 2004-01-19  Vincent Celier  <celier@gnat.com>
5816
5817         * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
5818         args if Bind is True. Set First_ALI, if not already done.
5819         (Build_Library): For Stand Alone Libraries, extract from one ALI file
5820         an eventual --RTS switch, for gnatbind, and all backend switches +
5821         --RTS, for linking.
5822
5823 2004-01-19  Robert Dewar  <dewar@gnat.com>
5824
5825         * sem_attr.adb, memtrack.adb: Minor reformatting
5826
5827 2004-01-19  Ed Schonberg  <schonberg@gnat.com>
5828
5829         * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
5830         that rename enumeration literals. This is properly done in sem_eval.
5831
5832         * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
5833         to functions that rename enumeration literals.
5834
5835         * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
5836         functions that rename enumeration literals.
5837
5838 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
5839
5840         * Make-lang.in (utils.o): Depend on target.h.
5841         * utils.c: Include target.h.
5842         (process_attributes): Use targetm.have_named_sections instead
5843         of ASM_OUTPUT_SECTION_NAME.
5844
5845 2004-01-16  Andreas Jaeger  <aj@suse.de>
5846
5847         * Makefile.in: Add $(DESTDIR).
5848
5849 2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
5850
5851         * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
5852         also when not defining if a Size clause applies. That information is
5853         not to be ignored.
5854
5855 2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
5856
5857         * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
5858         symbolic links for the shared gnat run time when needed.
5859
5860 2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
5861
5862         * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
5863         for writing, and terminate with an error message if not.
5864
5865 2004-01-15  Ed Schonberg  <schonberg@gnat.com>
5866
5867         * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
5868         warning on an access to subprogram in an instance, when the target
5869         type is declared in the same generic unit.
5870         (Eval_Attribute): If 'access is known to fail accessibility check,
5871         rewrite as a raise statement.
5872
5873 2004-01-15  GNAT Script  <nobody@gnat.com>
5874
5875         * Make-lang.in: Makefile automatically updated
5876
5877 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
5878
5879         * Make-lang.in (ada.srcextra): Dummy entry.
5880
5881 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
5882
5883         * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
5884
5885 2004-01-13  Ed Schonberg  <schonberg@gnat.com>
5886
5887         * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
5888         components that are initialized with aggregates.
5889
5890 2004-01-13  Vincent Celier  <celier@gnat.com>
5891
5892         * gnatlink.adb (Process_Binder_File): To find directory of shared
5893         libgcc, if "gcc-lib" is not a subdirectory, look for the last
5894         subdirectory "lib" in the path of the shared libgnat or libgnarl.
5895
5896         * make.adb (Gnatmake): If GCC version is at least 3, link with
5897         -shared-libgcc, when there is at least one shared library project.
5898
5899         * opt.ads (GCC_Version): New integer constant.
5900
5901         * adaint.c (get_gcc_version): New function.
5902
5903 2004-01-13  Robert Dewar  <dewar@gnat.com>
5904
5905         * sem_dist.adb, sem_res.adb, sem_util.adb,
5906         sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
5907         exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
5908
5909 2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
5910
5911         * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
5912         g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
5913         declarations.
5914
5915 2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
5916
5917         * misc.c: Remove trailing spaces.
5918         Update copyright notice missed in previous change.
5919
5920         PR ada/13572
5921         * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
5922         prefix/share/make
5923
5924         * Makefile.generic: Update copyright.
5925         Add license notice.
5926
5927         * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
5928         of prefix/share/make.
5929
5930         * Makefile.prolog: Update copyright.
5931         Add license notice.
5932
5933 2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
5934
5935         * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
5936         3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
5937         g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
5938         instead of String.
5939
5940         * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
5941         signature.
5942
5943 2004-01-12  Javier Miranda  <miranda@gnat.com>
5944
5945         * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
5946         exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
5947         sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
5948         sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
5949         Component_Definition node.
5950
5951 2004-01-12  Ed Falis  <falis@gnat.com>
5952
5953         * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
5954
5955 2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
5956
5957         * link.c: Change default libgnat kind to STATIC for FreeBSD.
5958
5959 2004-01-12  Bernard Banner  <banner@gnat.com>
5960
5961         * Makefile.in: map 86numaux to a-numaux for x86_64
5962
5963 2004-01-12  Ed Schonberg  <schonberg@gnat.com>
5964
5965         * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
5966         generated to rename a generic actual, go to the actual itself, the
5967         subtype is not a user-visible entity.
5968
5969         * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
5970         part is a private subtype, reset the visibility of its full view, if
5971         any, to be consistent.
5972
5973         PR ada/13417
5974         * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
5975         to use a generic package G as a formal package for another generic
5976         declared within G.
5977
5978 2004-01-12  Robert Dewar  <dewar@gnat.com>
5979
5980         * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
5981
5982         * usage.adb: Remove mention of obsolete -gnatwb switch
5983         Noticed during code reading
5984
5985 2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
5986
5987         * 1ssecsta.adb: Minor changes for -gnatwa warnings
5988
5989 2004-01-12  GNAT Script  <nobody@gnat.com>
5990
5991         * Make-lang.in: Makefile automatically updated
5992
5993 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
5994
5995         * misc.c (gnat_expand_expr): Add alt_rtl parameter.
5996
5997 2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5998
5999         * link.c [sgi] (shared_libgnat_default): Change to STATIC.
6000
6001 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
6002
6003         * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
6004         Update comment and copyright date.
6005         * stamp-xgnatug: Delete.
6006
6007 2004-01-05  Robert Dewar  <dewar@gnat.com>
6008
6009         * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
6010         be modified by the binder generated main program if the -D switch is
6011         used.
6012
6013         * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
6014         imported functions (since now we expect this to be done for imported
6015         functions)
6016
6017         * 5vtaprop.adb: Add several ??? for sections requiring more comments
6018         Minor reformatting throughout
6019
6020         * 5zinit.adb: Minor reformatting
6021         Add 2004 to copyright date
6022         Minor changes to avoid -gnatwa warnings
6023         Correct some instances of using OR instead of OR ELSE (noted while
6024         doing reformatting)
6025
6026         * sprint.adb: Minor updates to avoid -gnatwa warnings
6027
6028         * s-secsta.ads, s-secsta.adb:
6029         (SS_Get_Max): New function to obtain high water mark for ss stack
6030         Default_Secondary_Stack is not a constant since it may be modified by
6031         the binder generated main program if the -D switch is used.
6032
6033         * switch-b.adb: New -Dnnn switch for binder
6034
6035         * switch-c.adb:
6036         Make -gnatg imply all warnings currently in -gnatwa
6037
6038         * vms_conv.adb: Minor reformatting
6039         Add 2004 to copyright notice
6040         Add 2004 to printed copyright notice
6041
6042         * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
6043         3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
6044         5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
6045         5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
6046         5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
6047         5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
6048         5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
6049         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
6050         5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
6051         5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
6052         6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
6053         vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
6054         xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
6055         sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
6056         checks.adb, clean.adb, cstand.adb, einfo.ads,
6057         einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
6058         exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
6059         prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
6060         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
6061         g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
6062         lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
6063         Minor reformatting and code clean ups.
6064         Minor changes to prevent -gnatwa warnings
6065
6066         * ali.adb: Minor reformatting and cleanup of code
6067         Acquire new SS indication of secondary stack use from ali files
6068
6069         * a-numaux.ads: Add Pure_Function pragmas for all imported functions
6070         (since now we expect this to be done for imported functions)
6071
6072         * bindgen.adb: Generate call to modify default secondary stack size if
6073         -Dnnn switch given
6074
6075         * bindusg.adb: Add line for new -D switch
6076
6077         * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
6078         replacement name for Type_May_Have_Non_Bit_Aligned_Components!
6079         Add circuitry for both records and arrays to avoid gigi
6080         processing if the type involved has non-bit-aligned components
6081
6082         * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
6083         N_String_Literal node always references an E_String_Literal_Subtype
6084         entity. This may not be true in the future.
6085         (Possible_Bit_Aligned_Component): Move processing of
6086         Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
6087
6088         * exp_ch6.adb (Expand_Thread_Body): Pick up
6089         Default_Secondary_Stack_Size as variable so that we get value modified
6090         by possible -Dnnn binder parameter.
6091
6092         * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
6093         (Type_May_Have_Bit_Aligned_Components): New function.
6094
6095         * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
6096         (Type_May_Have_Bit_Aligned_Components): New function.
6097
6098         * fe.h: (Set_Identifier_Casing): Fix prototype.
6099         Add declaration for Sem_Elim.Eliminate_Error_Msg.
6100         Minor reformatting.
6101
6102         * freeze.adb (Freeze_Entity): Add RM reference to error message about
6103         importing constant atomic/volatile objects.
6104         (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
6105         unless explicit Pure_Function pragma given, to avoid insidious bug of
6106         call to non-pure imported function getting eliminated.
6107
6108         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
6109         gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
6110         gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
6111         Add 2004 to printed copyright notice
6112
6113         * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
6114         stack used.
6115
6116         * Makefile.rtl: Add entry for g-sestin.o
6117         g-sestin.ads: New file.
6118
6119         * mdll.adb: Minor changes to avoid -gnatwa warnings
6120
6121         * mlib-tgt.adb: Minor reformatting
6122
6123         * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
6124         New switch Sec_Stack_Used (GNAT, GNATBIND)
6125         Make Default_Secondary_Stack_Size a variable instead of a constant,
6126         so that it can be modified by the new -Dnnn bind switch.
6127
6128         * rtsfind.adb (Load_Fail): Give full error message in configurable
6129         run-time mode if all_errors mode is set. This was not done in the case
6130         of a file not found, which was an oversight.
6131         Note if secondary stack unit is used by compiler.
6132
6133         * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
6134         ineffective elaborate all pragmas on non-visible packages (this
6135         happened when a renamed subprogram was called). Now the elaborate all
6136         always goes on the package containing the renaming rather than the one
6137         containing the renamed subprogram.
6138
6139         * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
6140         (Process_Eliminate_Pragma): Add parameter to capture pragma location.
6141
6142         * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
6143         has an Etype that references an E_String_Literal.
6144         (Eval_String_Literal): Avoid assumption that N_String_Literal node
6145         always references an E_String_Literal_Subtype entity. This may not
6146         be true in the future.
6147
6148         * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
6149         pragma location.
6150
6151         * sem_res.adb (Resolve): Specialize msg for function name used in proc
6152         call.
6153
6154 2004-01-05  Ed Falis  <falis@gnat.com>
6155
6156         * g-debuti.adb: Replaced direct boolean operator with short-circuit
6157         form.
6158
6159 2004-01-05  Vincent Celier  <celier@gnat.com>
6160
6161         * bld.adb: Minor comment updates
6162         (Process_Declarative_Items): Correct incorrect name (Index_Name instead
6163         of Item_Name).
6164
6165         * make.adb (Gnatmake): Special process for files to compile/check when
6166         -B is specified. Fail when there are only foreign mains in attribute
6167         Main of the project file and -B is not specified. Do not skip bind/link
6168         steps when -B is specified.
6169
6170         * makeusg.adb: Document new switch -B
6171
6172         * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
6173
6174         * switch-m.adb: (Scan_Make_Switches): Process -B switch
6175
6176         * vms_data.ads: Add new GNAT PRETTY qualifier
6177         /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
6178
6179 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6180
6181         * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
6182         case.
6183
6184         * misc.c (gnat_printable_name): If VERBOSITY is 2, call
6185         Set_Identifier_Casing.
6186
6187         * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
6188         has size that overflows.
6189
6190 2004-01-05  Gary Dismukes  <dismukes@gnat.com>
6191
6192         * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
6193         -gnatwa warning on static condition.
6194
6195 2004-01-05  Doug Rupp  <rupp@gnat.com>
6196
6197         * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
6198
6199 2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
6200
6201         * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
6202         all attributes, including read-only attribute.
6203
6204 2004-01-05  Pascal Obry  <obry@gnat.com>
6205
6206         * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
6207         library naming scheme.
6208
6209         * mlib-prj.adb (Build_Library): Generate different names for the static
6210         or dynamic version of the GNAT runtime. This is needed to support the
6211         new shared library naming scheme.
6212         (Process_Binder_File): Add detection of shared library in binder file
6213         based on the new naming scheme.
6214
6215         * gnatlink.adb (Process_Binder_File): Properly detect the new naming
6216         scheme for the shared runtime libraries.
6217
6218         * Makefile.in:
6219         (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
6220         scheme.
6221         (install-gnatlib): Do not create symlinks for shared libraries.
6222         (gnatlib-shared-default): Idem.
6223         (gnatlib-shared-dual-win32): New target. Not used for now as the
6224         auto-import feature does not support arrays/records.
6225         (gnatlib-shared-win32): Do not create copy for the shared libraries.
6226         (gnatlib-shared-vms): Fix shared runtime libraries names.
6227
6228         * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
6229         dependent runtime shared library name.
6230
6231 2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
6232
6233         * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
6234         than the object.
6235
6236 2004-01-05  Ed Schonberg  <schonberg@gnat.com>
6237
6238         * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
6239         protected objects when allocator has a subtype indication, not a
6240         qualified expression. Note that qualified expressions may have to be
6241         checked when limited aggregates are implemented.
6242
6243         * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
6244         pure, emit warning.
6245         (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
6246         subprogram is imported, remove warning.
6247
6248 2004-01-05  Geert Bosch  <bosch@gnat.com>
6249
6250         * s-poosiz.adb: Update copyright notice.
6251         (Allocate): Use Task_Lock to protect against concurrent access.
6252         (Deallocate): Likewise.
6253
6254 2004-01-05  Joel Brobecker  <brobecker@gnat.com>
6255
6256         * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
6257         comment.
6258
6259 2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
6260
6261         * gnat_ug.texi: Force a CVS commit by updating copyright.
6262         * gnat_ug_vxw.texi: Regenerate.
6263         * gnat_ug_wnt.texi: Regenerate.
6264         * gnat_ug_vms.texi: Regenerate.
6265         * gnat_ug_unx.texi: Regenerate.
6266
6267 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
6268
6269         * trans.c: Remove uses of "register" specifier in
6270         declarations of local variables.
6271
6272 2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
6273
6274         * stamp-xgnatug: New stamp file.
6275         * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
6276         (ada/doctools/xgnatug): Add $(build_exeext).
6277         (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
6278         ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
6279
6280 2003-12-17  Ed Falis  <falis@gnat.com>
6281
6282         * a-elchha.adb (Tailored_Exception_Information): made Info constant to
6283         eliminate warning.
6284
6285         * a-exextr.adb: Add context clause for
6286         Ada.Exceptions.Last_Chance_Handler.
6287
6288 2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
6289
6290         * cstand.adb (Create_Standard): Change the way how the declaration of
6291         the Duration type is created (making it the same way as it is for all
6292         the other standard types).
6293
6294 2003-12-17  Robert Dewar  <dewar@gnat.com>
6295
6296         * s-crtl.ads: Fix header format
6297         Change Pure to Preelaborate
6298
6299 2003-12-17  Ed Schonberg  <schonberg@gnat.com>
6300
6301         * checks.adb (Selected_Length_Checks): Generate an Itype reference for
6302         the expression type only if it is declared in the current unit.
6303
6304         * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
6305         are universal and already analyzed, as can occur in constrained
6306         subcomponents that depend on discriminants, when one constraint is a
6307         subtype mark.
6308
6309         * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
6310         type Any_Fixed is legal as the argument of a conversion, if only one
6311         fixed-point type is in context.
6312
6313 2003-12-17  GNAT Script  <nobody@gnat.com>
6314
6315         * Make-lang.in: Makefile automatically updated
6316
6317 2003-12-15  Robert Dewar  <dewar@gnat.com>
6318
6319         * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
6320         sec stack size.
6321
6322 2003-12-15  Vincent Celier  <celier@gnat.com>
6323
6324         * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
6325         (Gnatchop): Do not set failure status when reporting the number of
6326         warnings.
6327
6328 2003-12-15  Doug Rupp  <rupp@gnat.com>
6329
6330         * s-ctrl.ads: New file.
6331
6332         * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
6333
6334         * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
6335         (GNATBIND_OBJS): Add ada/s-crtl.o.
6336
6337         * Makefile.in [VMS]: Clean up ifeq rules.
6338
6339         * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
6340         a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
6341         g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
6342         s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
6343         s-tasdeb.adb: Update copyright.
6344         Import System.CRTL.
6345         Make minor modifications to use System.CRTL declared functions instead
6346         of importing locally.
6347
6348 2003-12-15  GNAT Script  <nobody@gnat.com>
6349
6350         * Make-lang.in: Makefile automatically updated
6351
6352 2003-12-11  Ed Falis  <falis@gnat.com>
6353
6354         * 5zinit.adb: Clean up.
6355
6356         * 5zintman.adb (Notify_Exception): replaced case statement with a call
6357         to __gnat_map_signal, imported from init.c to support
6358         signal -> exception mappings that depend on the vxWorks version.
6359
6360         * init.c:
6361         Created and exported __gnat_map_signal to support signal -> exception
6362         mapping that is dependent on the VxWorks version.
6363         Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
6364
6365 2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
6366
6367         * 5wosinte.ads: Link with -mthreads switch.
6368
6369 2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
6370
6371         * init.c (__gnat_install_handler [NetBSD]): Set
6372         __gnat_handler_installed, as done on all other platforms.
6373         Remove duplicated code.
6374
6375 2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
6376
6377         * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
6378
6379 2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
6380
6381         * sinfo.ads: Fix inconsistent example code in comment.
6382
6383 2003-12-11  Robert Dewar  <dewar@gnat.com>
6384
6385         * a-tiinau.adb: Add a couple of comments
6386
6387         * sem_ch3.adb: Minor reformatting
6388
6389         * sem_prag.adb:
6390         Fix bad prototype of Same_Base_Type in body (code reading cleanup)
6391         Minor reformatting throughout
6392
6393 2003-12-11  Ed Schonberg  <schonberg@gnat.com>
6394
6395         * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
6396         bounds of a loop, create a separate block in order to generate proper
6397         cleanup actions to prevent memory leaks.
6398
6399         * sem_res.adb (Resolve_Call): After a call to
6400         Establish_Transient_Scope, the call may be rewritten and relocated, in
6401         which case no further processing is needed.
6402
6403         * sem_util.adb: (Wrong_Type): Refine previous fix.
6404          Fixes ACATS regressions.
6405
6406         PR ada/13353
6407
6408         * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
6409         be inlined.
6410
6411 2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
6412
6413         * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
6414         i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
6415         obsolete files.
6416
6417         * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
6418         (rts-zfp): Ditto.
6419
6420 2003-12-08  Robert Dewar  <dewar@gnat.com>
6421
6422         * 7sintman.adb: Minor reformatting
6423
6424         * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
6425         standard linker options to get standard libraries linked. We now plan
6426         to provide dummy versions of these libraries to match the appropriate
6427         configurable run-time (e.g. if a library is not needed at all, provide
6428         a dummy empty library).
6429
6430         * targparm.ads: Configurable_Run_Time mode no longer affects linker
6431         options (-L parameters and standard libraries). What we plan to do is
6432         to provide dummy libraries where the libraries are not required.
6433
6434         * gnatbind.adb: Minor comment improvement
6435
6436 2003-12-08  Javier Miranda  <miranda@gnat.com>
6437
6438         * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
6439         aggregate in the parent. Otherwise constants with limited aggregates
6440         are not supported. Add new formal to pass the component type (Ctype).
6441         It is required to call the corresponding IP subprogram in case of
6442         default initialized components.
6443         (Gen_Assign): In case of default-initialized component, generate a
6444         call to the IP subprogram associated with the component.
6445         (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
6446         of aggregate with default initialized components.
6447         (Has_Default_Init_Comps): Improve implementation to recursively check
6448         all the present expressions.
6449
6450         * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
6451         to indicate that the initialization call corresponds to a
6452         default-initialized component of an aggregate.
6453         In case of default initialized aggregate with tasks this parameter is
6454         used to generate a null string (this is just a workaround that must be
6455         improved later). In case of discriminants, this parameter is used to
6456         generate a selected component node that gives access to the discriminant
6457         value.
6458
6459         * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
6460         subprogram, based on Build_Task_Allocate_Block, but adapted to expand
6461         allocated aggregates with default-initialized components.
6462
6463         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
6464         the box notation is used in positional aggregates.
6465
6466 2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
6467
6468         * lib.ads: Fix typo in comment
6469
6470 2003-12-08  Vincent Celier  <celier@gnat.com>
6471
6472         * prj.adb (Project_Empty): New component Unkept_Comments
6473         (Scan): Remove procedure; moved to Prj.Err.
6474
6475         * prj.ads (Project_Data): New Boolean component Unkept_Comments
6476         (Scan): Remove procedure; moved to Prj.Err.
6477
6478         * prj-dect.adb: Manage comments for the different declarations.
6479
6480         * prj-part.adb (With_Record): New component Node
6481         (Parse): New Boolean parameter Store_Comments, defaulted to False.
6482         Set the scanner to return ends of line and comments as tokens, if
6483         Store_Comments is True.
6484         (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
6485         comments are associated with these nodes. Store the node IDs in the
6486         With_Records.
6487         (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
6488         With_Records.
6489         (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
6490         the N_Project node. Call Tree.Save and Tree.Reset before scanning the
6491         current project. Call Tree.Restore afterwards. Set the various nodes
6492         for comment storage (Next_End, End_Of_Line, Previous_Line,
6493         Previous_End).
6494
6495         * prj-part.ads (Parse): New Boolean parameter Store_Comments,
6496         defaulted to False.
6497
6498         * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
6499         to False. When Truncated is True, truncate the string, never go to the
6500         next line.
6501         (Write_End_Of_Line_Comment): New procedure
6502         (Print): Process comments for nodes N_With_Clause,
6503         N_Package_Declaration, N_String_Type_Declaration,
6504         N_Attribute_Declaration, N_Typed_Variable_Declaration,
6505         N_Variable_Declaration, N_Case_Construction, N_Case_Item.
6506         Process nodes N_Comment.
6507
6508         * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
6509         without comments and there are some comments, set the flag
6510         Unkept_Comments to True.
6511         (Scan): If there are comments, set the flag Unkept_Comments to True and
6512         clear the comments.
6513         (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
6514         (Next_End_Nodes: New table
6515         (Comment_Zones_Of): New function
6516         (Scan): New procedure; moved from Prj. Accumulate comments in the
6517         Comments table and set end of line comments, comments after, after end
6518         and before end.
6519         (Add_Comments): New procedure
6520         (Save, Restore, Seset_State): New procedures
6521         (There_Are_Unkept_Comments): New function
6522         (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
6523         (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
6524         procedures.
6525         (First_Comment_After, First_Comment_After_End): New functions
6526         (First_Comment_Before, First_Comment_Before_End): New functions
6527         (Next_Comment): New function
6528         (End_Of_Line_Comment, Follows_Empty_Line,
6529         Is_Followed_By_Empty_Line): New functions
6530         (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
6531         (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
6532         (Set_Next_Comment): New procedure
6533         (Default_Project_Node): Associate comment before if the node can store
6534         comments.
6535
6536         * scans.ads (Token_Type): New enumeration value Tok_Comment
6537         (Comment_Id): New global variable
6538
6539         * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
6540         defaulted to False.
6541         (Scan): Store position of start of comment. If comments are tokens, set
6542         Comment_Id and set Token to Tok_Comment when scanning a comment.
6543         (Set_Comment_As_Token): New procedure
6544
6545         * sinput-p.adb: Update Copyright notice
6546         (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
6547         that no longer exists.
6548
6549 2003-12-08  Javier Miranda  <miranda@gnat.com>
6550
6551         * sem_aggr.adb: Add dependence on Exp_Tss package
6552         Correct typo in comment
6553         (Resolve_Aggregate): In case of array aggregates set the estimated
6554         type of the aggregate before calling resolve. This is needed to know
6555         the name of the corresponding IP in case of limited array aggregates.
6556         (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
6557         in case of default initialized array components.
6558
6559         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
6560         types. Required to give support to limited aggregates in generic
6561         formals.
6562
6563 2003-12-08  Ed Schonberg  <schonberg@gnat.com>
6564
6565         * sem_ch3.adb (Check_Initialization): For legality purposes, an
6566         inlined body functions like an instantiation.
6567         (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
6568         until bounds are analyzed, to diagnose premature use of type.
6569
6570         * sem_util.adb (Wrong_Type): Improve error message when the type of
6571         the expression is used prematurely.
6572
6573 2003-12-08  GNAT Script  <nobody@gnat.com>
6574
6575         * Make-lang.in: Makefile automatically updated
6576
6577 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
6578
6579         * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
6580         they are automatically generated by Make-lang.in and cause nothing but
6581         maintenance troubles.
6582
6583 2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
6584
6585         * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
6586         version of this unit).
6587
6588 2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
6589
6590         * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
6591         5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
6592         5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
6593         the body of System.Interrupt_Management common to several targets.
6594         Update copyright notice when appropriate.
6595
6596         * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
6597         constant.
6598
6599         * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
6600         to ensure that the kernel fills in the interrupted context structure
6601         before calling a signal handler, which is necessary to be able to
6602         unwind past it. Update the copyright notice.
6603
6604 2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
6605
6606         * a-elchha.ads: New file.
6607
6608         * a-elchha.adb: New default last chance handler. Contents taken from
6609         Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
6610
6611         * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
6612         is moved to a-elchha.adb to provide a target-independent default last
6613         chance handler.
6614
6615         * Makefile.rtl: Add a-elchha.o
6616
6617         * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
6618
6619 2003-12-05  Ed Schonberg  <schonberg@gnat.com>
6620
6621         * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
6622         declared in an instance, do not inline the call if the instance is not
6623         frozen yet, to prevent order of elaboration problems.
6624
6625         * sem_prag.adb: Add comments for previous fix.
6626
6627 2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
6628
6629         * g-table.adb: Use the right variable in Set_Item.
6630         Update copyright notice.
6631
6632 2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
6633
6634         * Makefile.in: Remove unused rules.
6635
6636 2003-12-05  Vincent Celier  <celier@gnat.com>
6637
6638         * switch-c.adb (Scan_Front_End_Switches): Remove processing of
6639         -nostdlib. Not needed here after all.
6640
6641 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
6642
6643         PR ada/11724
6644
6645         * adaint.h, adaint.c, g-os_lib.ads:
6646         Do not assume that the offset argument to lseek(2) is a 32 bit integer,
6647         on some platforms (including FreeBSD), it is a 64 bit value.
6648         Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
6649
6650 2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
6651
6652         * gnatvsn.ads (Library_Version): Now contain only the relevant
6653         version info.
6654         (Verbose_Library_Version): New constant.
6655
6656         * g-spipat.adb, g-awk.adb, g-debpoo.adb,
6657         g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
6658         s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
6659
6660         * gnatlbr.adb: Clean up: replace Library_Version by
6661         Verbose_Library_Version.
6662
6663         * make.adb, lib-writ.adb, exp_attr.adb:
6664         Clean up: replace Library_Version by Verbose_Library_Version.
6665
6666         * 5lintman.adb: Removed.
6667
6668         * Makefile.in:
6669         Update and simplify computation of LIBRARY_VERSION.
6670         Fix computation of GSMATCH_VERSION.
6671         5lintman.adb is no longer used: replaced by 7sintman.adb.
6672
6673 2003-12-03  Robert Dewar  <dewar@gnat.com>
6674
6675         * exp_ch5.adb:
6676         (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
6677         name. Modified to consider small non-bit-packed arrays as troublesome
6678         and in need of component-by-component assigment expansion.
6679
6680 2003-12-03  Vincent Celier  <celier@gnat.com>
6681
6682         * lang-specs.h: Process nostdlib as nostdinc
6683
6684         * back_end.adb: Update Copyright notice
6685         (Scan_Compiler_Arguments): Process -nostdlib directly.
6686
6687 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
6688
6689         * Makefile.in:
6690         When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
6691         redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
6692         included in HIE_NONE_TARGET_PAIRS.
6693
6694 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
6695
6696         * sem_attr.adb:
6697         (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
6698         is legal in an instance, because legality is cheched in the template.
6699
6700         * sem_prag.adb:
6701         (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
6702         appplied to an unchecked conversion of a formal parameter.
6703
6704         * sem_warn.adb:
6705         (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
6706         variables.
6707
6708 2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
6709
6710         * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
6711         routines. The second one is new functionality to deal with backtracing
6712         through signal handlers.
6713         (unwind): Split into the two separate subroutines above.
6714         Update the documentation, and deal properly with sizeof (REG) different
6715         from sizeof (void*).
6716
6717 2003-12-01  Nicolas Setton  <setton@act-europe.fr>
6718
6719         * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
6720         so that the debugger can reliably access the value of the parameter,
6721         and therefore is able to display the exception name when an exception
6722         breakpoint is reached.
6723
6724 2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
6725
6726         * fmap.adb: Fix typo in warning message.
6727
6728         * g-socket.ads, g-socket.adb: Make Free a visible instance of
6729         Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
6730
6731 2003-12-01  Vincent Celier  <celier@gnat.com>
6732
6733         * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
6734         ther is no Afile.
6735         (Build_Library): Get the switches only if Default_Switches is declared
6736         in package Binder.
6737
6738 2003-12-01  Ed Schonberg  <schonberg@gnat.com>
6739
6740         * exp_ch6.adb (Expand_Actuals): When applying validity checks to
6741         actuals that are indexed components, reanalyze actual to ensure that
6742         packed array references are properly expanded.
6743
6744         * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
6745         attempted assignment to a discriminant.
6746
6747 2003-12-01  Robert Dewar  <dewar@gnat.com>
6748
6749         * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
6750         reformatting.
6751
6752         * switch-c.adb: Minor reformatting of comments
6753
6754 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
6755
6756         * Makefile.in: Clean ups.
6757
6758 2003-12-01  GNAT Script  <nobody@gnat.com>
6759
6760         * Make-lang.in: Makefile automatically updated
6761
6762 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
6763
6764         * 5wsystem.ads: Disable zero cost exception, not ready yet.
6765
6766 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
6767
6768         * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
6769         to force serialization.
6770
6771 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
6772
6773         * g-socket.ads, g-socket.adb:
6774         Clarify documentation of function Stream. Introduce a Free procedure
6775         to release the returned Stream once it becomes unused.
6776
6777         * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
6778
6779 2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
6780
6781         (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
6782         since NT 4 cannot handle timeout values that are too large,
6783         e.g. DWORD'Last - 1.
6784
6785 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
6786
6787         * exp_ch4.adb:
6788         (Expand_N_Slice): Recognize all cases of slices that appear as actuals
6789         in procedure calls and whose expansion must be deferred.
6790
6791         * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
6792         is in exp_ch4.
6793
6794         * sem_ch3.adb:
6795         (Build_Derived_Array_Type): Create operator for unconstrained type
6796         if ancestor is unconstrained.
6797
6798 2003-11-26  Vincent Celier  <celier@gnat.com>
6799
6800         * make.adb (Project_Object_Directory): New global variable
6801         (Change_To_Object_Directory): New procedure
6802         (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
6803         of Change_Dir directly. Do not change working directory to object
6804         directory of main project after each compilation.
6805         (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
6806         directly.
6807         Change to object directory of main project before binding step.
6808         (Initialize): Initialize Project_Object_Directory to No_Project
6809
6810         * mlib-prj.adb:
6811         (Build_Library): Take into account Builder'Default_Switches ("Ada") when
6812         binding a Stand-Alone Library.
6813
6814         * output.adb: Update Copyright notice
6815         (Write_Char): Output buffer when full
6816
6817 2003-11-26  Robert Dewar  <dewar@gnat.com>
6818
6819         * sem_ch13.adb: (Check_Size): Reset size if size is too small
6820
6821         * sem_ch13.ads:
6822         (Check_Size): Fix documentation to include bit-packed array case
6823
6824         * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
6825
6826         * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
6827
6828         * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
6829
6830 2003-11-24  Arnaud Charlet <charlet@act-europe.fr>
6831
6832         PR ada/13142
6833         * utils.c (init_gigi_decls): Change name of built-in setjmp to
6834         __builtin_setjmp, since this is apparently needed by recent
6835         non Ada changes.
6836
6837 2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6838
6839         * adadecode.c: Only include ctype.h if not IN_GCC.
6840         (__gnat_decode): Use ISDIGIT from safe-ctype.h.
6841
6842 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
6843
6844         * Makefile.in:
6845         Use 5zintman.ads for VxWorks targets. This file avoid confusion between
6846         signals and interrupts.
6847
6848         * 5zintman.ads: New File.
6849
6850         * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
6851         add exception signals to the set of unmasked signals.
6852
6853         * 5ztaprop.adb:
6854         Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
6855         between signals and interrupts.
6856         Add to Unblocked_Signal_Mask the set of signals that are in
6857         Keep_Unmasked.
6858
6859         * 7sinmaop.adb:
6860         Adding a check to see whether the Interrupt_ID we want to unmask is in
6861         the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
6862         reason is that the index type of the Keep_Unmasked array is not always
6863         Interrupt_ID; it may be a subtype of Interrupt_ID.
6864
6865 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
6866
6867         * exp_util.adb:
6868         (Remove_Side_Effects): Condition constantness of object created for a
6869          an unchecked type conversion on the constantness of the expression
6870          to ensure the correct value for 'Constrained when passing components
6871          of view-converted class-wide objects.
6872
6873 2003-11-24  Robert Dewar  <dewar@gnat.com>
6874
6875         * par-load.adb (Load): Improve handling of misspelled and missing units
6876         Removes several cases of compilation abandoned messages
6877
6878         * lib.adb: (Remove_Unit): New procedure
6879
6880         * lib.ads: (Remove_Unit): New procedure
6881
6882         * lib-load.adb: Minor reformatting
6883
6884 2003-11-24  Vincent Celier  <celier@gnat.com>
6885
6886         * make.adb:
6887         (Gnatmake, Initialize): Call Usage instead of Makeusg directly
6888         (Marking_Label): Label to mark processed source files. Incremented for
6889         each executable.
6890         (Gnatmake): Increase Marking_Labet for each executable
6891         (Is_Marked): Compare against marking label
6892         (Mark): Mark with marking label
6893
6894 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
6895
6896         * s-thread.ads:
6897         Move the declaration of the TSD for System.Threads to System.Soft_Links.
6898         Add some comments.
6899
6900         * Makefile.in: Added target pair for s-thread.adb for cert runtime.
6901         (rts-cert): build a single relocatable object for the run-time lib.
6902         Fix perms.
6903
6904 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
6905
6906         * Make-lang.in:
6907         Use gnatls rather than gcc to obtain the location of GNAT RTL for
6908         crosstools build.
6909
6910 2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
6911
6912         * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
6913         can not use it as before (that is, as a variable) when dumping it into
6914         the tree file. Add a local variable to store the result of this
6915         function and to be used as the string to be written into the tree.
6916
6917         * scn.adb (Initialize_Scanner): Add comments explaining the recent
6918         changes.
6919
6920         * sinput.adb (Source_First, Source_Last): In case of
6921         Internal_Source_File, replace returning attributes of
6922         Internal_Source_Ptr (which is wrong) with returning attributes of
6923         Internal_Source.
6924
6925 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
6926
6927         * sem_ch3.adb:
6928         (New_Concatenation_Op): Proper name for New_Binary_Operator, only
6929         used for implicit concatenation operators.
6930         Code cleanup.
6931
6932         * sem_elab.adb:
6933         (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
6934         task bodies that are in the scope of a Suppress pragma.
6935         (Check_A Call): Use the flag to prevent spurious elaboration checks.
6936
6937         * sinfo.ads, sinfo.adb:
6938         New flag No_Elaboration_Check on function/procedure calls, to properly
6939         suppress checks on calls in task bodies that are within a local suppress
6940         pragma.
6941
6942         * exp_ch4.adb:
6943         (Expand_Concatenate_Other): Use the proper integer type for the
6944         expression for the upper bound, to avoid universal_integer computations
6945         when possible.
6946
6947 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
6948
6949         * .cvsignore: Delete.
6950
6951 2003-11-21  Andreas Schwab  <schwab@suse.de>
6952
6953         * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
6954
6955 2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
6956
6957         * 5wsystem.ads: Enable zero cost exception.
6958
6959 2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
6960
6961         * 5ztiitho.adb: Remove an unreferenced variable.
6962
6963 2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
6964
6965         * adaint.c: For FreeBSD, use mkstemp.
6966
6967 2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
6968
6969         * gnatlbr.adb: Now reference Gnat_Static_Version_String.
6970
6971 2003-11-21  Robert Dewar  <dewar@gnat.com>
6972
6973         * bld.adb: Remove useless USE of gnatvsn
6974
6975         * gnatchop.adb: Minor reformatting
6976         Clean up version handling to be more consistent
6977
6978         * gnatxref.adb: Minor reformatting
6979
6980         * gprcmd.adb: Minor reformatting
6981         Fix output of copyright to be more consistent with other tools
6982
6983 2003-11-21  Vincent Celier  <celier@gnat.com>
6984
6985         * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
6986
6987 2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
6988
6989         * atree.adb (Initialize): Add initializations for global variables
6990         used in New_Copy_Tree.
6991
6992         * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
6993         Internal_Source_File as the actual).
6994         Put the set of statements creating Any_Character before the set of
6995         statements creating Any_Array to have Any_Character fully initialized
6996         when it is used in creating Any_Array.
6997
6998         * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
6999         not call Scan in case if the actual is Internal_Source_File
7000         Add 2003 to copyright note.
7001
7002         * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
7003         processing Internal_Source_File.
7004
7005         * types.ads: Add the constant Internal_Source_File representing the
7006         source buffer for artificial source-code-like strings created within
7007         the compiler (the definition of Source_File_Index is changed).
7008
7009 2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
7010
7011         * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
7012         56system.ads: New file, FreeBSD version.
7013
7014 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
7015
7016         * Make-lang.in (ada.extraclean): Delete.
7017
7018 2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
7019
7020         * gnatmem.adb: Clean up verbose output.
7021
7022         * gprcmd.adb: Change copyright to FSF.
7023
7024 2003-11-19  Vincent Celier  <celier@gnat.com>
7025
7026         * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
7027         and Version (ignored).
7028
7029         * symbols.ads: (Policy): New type
7030         (Initialize): New parameter Reference, Symbol_Policy and
7031         Library_Version.
7032         Remove parameter Force.
7033         Minor reformatting.
7034
7035         * snames.ads, snames.adbadb: New standard names
7036         Library_Reference_Symbol_File and Library_Symbol_Policy
7037
7038         * mlib-prj.adb:
7039         (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
7040         project.
7041
7042         * mlib-tgt.adb:
7043         (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
7044
7045         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
7046
7047         * prj.adb: (Project_Empty): New component Symbol_Data
7048
7049         * prj.ads: (Policy, Symbol_Record): New types
7050         (Project_Data): New component Symbol_Data
7051
7052         * prj-attr.adb:
7053         New attributes Library_Symbol_File, Library_Symbol_Policy and
7054         Library_Reference_Symbol_File.
7055
7056         * prj-nmsc.adb:
7057         (Ada_Check): When project is a Stand-Alone library project, process
7058         attribute Library_Symbol_File, Library_Symbol_Policy and
7059         Library_Reference_Symbol_File.
7060
7061         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
7062         5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
7063         5sml-tgt.adb (Build_Dynamic_Library): New parameter
7064         Symbol_Data (ignored).
7065
7066         * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
7067         (Build_Dynamic_Library): New parameter Symbol_Data. New internal
7068         functions Option_File_Name and Version_String. Set new options of
7069         gnatsym related to symbol file, symbol policy and reference symbol
7070         file.
7071
7072         * 5vsymbol.adb:
7073         Extensive modifications to take into account the reference symbol file,
7074         the symbol policy, the library version and to put in the symbol file the
7075         minor and major IDs.
7076
7077         * bld.adb (Process_Declarative_Items): Put second argument of
7078         gprcmd to_absolute between single quotes, to avoid problems with
7079         Windows.
7080
7081         * bld-io.adb: Update Copyright notice.
7082         (Flush): Remove last character of a line, if it is a back slash, to
7083         avoid make problems.
7084
7085         * gnatsym.adb:
7086         Implement new scheme with reference symbol file and symbol policy.
7087
7088         * g-os_lib.ads: (Is_Directory): Clarify comment
7089
7090 2003-11-19  Robert Dewar  <dewar@gnat.com>
7091
7092         * atree.adb: Move New_Copy_Tree global variables to head of package
7093
7094         * errout.adb: Minor reformatting
7095
7096 2003-11-19  Javier Miranda  <miranda@gnat.com>
7097
7098         * sem_ch4.adb: (Diagnose_Call): Improve error message.
7099         Add reference to Ada0Y (AI-50217)
7100
7101         * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
7102         sem_util.adb: Add reference to AI-50217
7103
7104         * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
7105
7106         * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
7107
7108         * sem_aggr.adb: Complete documentation of AI-287 changes
7109
7110         * par-ch4.adb: Document previous changes.
7111
7112         * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
7113         sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
7114         Ada0Y (AI-50217)
7115
7116         * exp_aggr.adb: Add references to AI-287 in previous changes
7117
7118 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
7119
7120         * exp_ch6.adb:
7121         (Add_Call_By_Copy_Node): Do not original node of rewritten expression
7122         in the rewriting is the result of an inlined call.
7123
7124         * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
7125         parameter is a type conversion, use original node to construct the
7126         post-call assignment, because expression may have been rewritten, e.g.
7127         if it is a packed array.
7128
7129         * sem_attr.adb:
7130         (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
7131         body, just as it is in an instance.
7132         Categorization routines
7133
7134         * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
7135         Instantiate_Object): Set proper sloc reference for message on missing
7136         actual.
7137
7138 2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
7139
7140         * Makefile.in: Add FreeBSD libgnat pairs.
7141
7142         * usage.adb: Fix typo in usage message.
7143
7144 2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
7145
7146         * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
7147         s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
7148         pragma Thread_Body.
7149         Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
7150
7151         * s-thread.adb: This file is now a dummy implementation of
7152         System.Thread.
7153
7154 2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
7155
7156         * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
7157
7158 2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
7159
7160         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
7161         instanciation references in the parent type description.
7162
7163 2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7164
7165         * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
7166
7167         * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
7168         TYPE_PRECISION directly from esize.
7169
7170 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
7171
7172         * cstreams.c:
7173         Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
7174
7175         * init.c: Initialization routines for FreeBSD
7176
7177         * link.c: Link info for FreeBSD
7178
7179         * sysdep.c: Add the case of FreeBSD
7180
7181 2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
7182
7183         * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
7184         already called in System.Threads.
7185
7186         * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
7187         environment task, as it has been moved to System.Threads.Initialization.
7188
7189 2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
7190
7191         * adaint.c (__gnatlib_install_locks): Only reference
7192         __gnat_install_locks on VMS, since other platforms can avoid using
7193         --enable-threads=gnat
7194
7195 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7196
7197         * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
7198
7199         * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
7200         TYPE_PACKED_ARRAY_TYPE_P.
7201         (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
7202
7203         Part of PR ada/12806
7204         * utils.c (float_type_for_precision): Renamed from float_type_for_size.
7205         Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
7206
7207 2003-11-17  Vincent Celier  <celier@gnat.com>
7208
7209         * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
7210         to False.
7211         Do not set exit status to Failure when Warning is True.
7212         (Gnatchop): Make errors "no compilation units found" and
7213         "no source files written" warnings only.
7214
7215         * make.adb (Gnatmake): When using a project file, set
7216         Look_In_Primary_Dir to False.
7217         (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
7218         and Local_Configuration_Pragmas in the project where they are declared
7219         not an extending project which might have inherited them.
7220
7221         * osint.adb (Locate_File): If Name is already an absolute path, do not
7222         look for a directory.
7223
7224         * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
7225         -gnats (Check_Syntax) is used, issue only a warning, not an error.
7226
7227         * prj.adb (Register_Default_Naming_Scheme): Add new component Project
7228         in objects of type Variable_Value.
7229
7230         * prj.ads: (Variable_Value): New component Project
7231
7232         * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
7233         is in a project extended by Project.
7234
7235         * prj-proc.adb (Add_Attributes): New parameter Project. Set component
7236         Project of Variable_Values to this new parameter value.
7237         (Expression): Set component Project of Variable_Values.
7238         (Process_Declarative_Items): Call Add_Attributes with parameter Project.
7239         Set the component Project in array elements.
7240
7241 2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
7242
7243         * errout.adb: (Initialize): Add initialization for error nodes.
7244
7245         * sem_ch12.adb (Initialize): Add missing initializations for
7246         Exchanged_Views and Hidden_Entities.
7247
7248 2003-11-17  Ed Schonberg  <schonberg@gnat.com>
7249
7250         * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
7251         already instantiated tree for use in subsequent inlining.
7252         (Analyze_Associations, Instantiate_Formal_Subprogram,
7253         Instantiate_Object): improve error message for mismatch in
7254         instantiations.
7255
7256         * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
7257         instantiations of subprograms declared in instances.
7258
7259 2003-11-17  Javier Miranda  <miranda@gnat.com>
7260
7261         * sem_ch4.adb (Analyze_Allocator): Previous modification must be
7262         executed only under the Extensions_Allowed flag.
7263
7264 2003-11-17  Robert Dewar  <dewar@gnat.com>
7265
7266         * a-exexda.adb (Address_Image): Fix documentation to indicate leading
7267         zeroes suppressed.
7268         (Address_Image): Fix bug of returning 0x instead of 0x0
7269         Minor reformatting (function specs).
7270
7271         * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
7272         (missed case of 33-63)
7273
7274         * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
7275
7276         * s-thread.adb: Add comments for pragma Restriction
7277
7278         * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
7279         sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
7280
7281 2003-11-17  Ed Falis  <falis@gnat.com>
7282
7283         * s-thread.adb: Added No_Tasking restriction for this implementation.
7284
7285 2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
7286
7287         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
7288         instanciation references in the parent type description.
7289
7290 2003-11-17  GNAT Script  <nobody@gnat.com>
7291
7292         * Make-lang.in: Makefile automatically updated
7293
7294 2003-11-16  Jason Merrill  <jason@redhat.com>
7295
7296         * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
7297         and TAGS files that include them for each front end.
7298
7299 2003-11-14  Andreas Jaeger  <aj@suse.de>
7300
7301         * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
7302         is the canonical version.
7303         * misc.c (gnat_handle_option): Likewise.
7304
7305         * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
7306
7307         * 5nsystem.ads: New file for x86_64-linux-gnu.
7308
7309 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
7310
7311         * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
7312
7313         * comperr.adb: Fix logic in previous change.
7314
7315 2003-11-13  Vincent Celier  <celier@gnat.com>
7316
7317         * 5bml-tgt.adb (Build_Dynamic_Library): Use
7318         Osint.Include_Dir_Default_Prefix instead of
7319         Sdefault.Include_Dir_Default_Name.
7320
7321         * gnatlbr.adb: Update Copyright notice
7322         (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
7323         Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
7324         instead of Sdefault.Object_Dir_Default_Name
7325
7326         * gnatlink.adb:
7327         (Process_Binder_File): Never suppress the option following -Xlinker
7328
7329         * mdll-utl.adb:
7330         (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
7331         Sdefault.Object_Dir_Default_Name.
7332
7333         * osint.ads, osint.adb:
7334         (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
7335         Minor reformatting.
7336
7337         * vms_conv.ads: Minor reformating
7338         Remove GNAT STANDARD and GNAT PSTA
7339
7340         * vms_conv.adb:
7341         Allow GNAT MAKE to have several files on the command line.
7342         (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
7343         Sdefault.Object_Dir_Default_Name.
7344         Minor Reformating
7345         Remove data for GNAT STANDARD
7346
7347         * vms_data.ads:
7348         Add new compiler qualifier /PRINT_STANDARD (-gnatS)
7349         Remove data for GNAT STANDARD
7350         Remove options and documentation for -gnatwb/-gnatwB: these warning
7351         options no longer exist.
7352
7353 2003-11-13  Ed Falis  <falis@gnat.com>
7354
7355         * 5zthrini.adb: (Init_RTS): Made visible
7356
7357         * 5zthrini.adb:
7358         (Register): Removed unnecessary call to taskVarGet that checked whether
7359          an ATSD was already set as a task var for the argument thread.
7360
7361         * s-thread.adb:
7362         Updated comment to reflect that this is a VxWorks version
7363         Added context clause for System.Threads.Initialization
7364         Added call to System.Threads.Initialization.Init_RTS
7365
7366 2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
7367
7368         * 5zthrini.adb:
7369         (Init_RTS): New procedure, for the initialization of the run-time lib.
7370
7371         * s-thread.adb:
7372         Remove dependancy on System.Init, so that this file can be used in the
7373         AE653 sequential run-time lib.
7374
7375 2003-11-13  Robert Dewar  <dewar@gnat.com>
7376
7377         * bindgen.adb: Minor reformatting
7378
7379 2003-11-13  Ed Schonberg  <schonberg@gnat.com>
7380
7381         * checks.adb:
7382         (Apply_Discriminant_Check): Do no apply check if target type is derived
7383         from source type with no applicable constraint.
7384
7385         * lib-writ.adb:
7386         (Ensure_System_Dependency): Do not apply the style checks that may have
7387         been specified for the main unit.
7388
7389         * sem_ch8.adb:
7390         (Find_Selected_Component): Further improvement in error message, with
7391         RM reference.
7392
7393         * sem_res.adb:
7394         (Resolve): Handle properly the case of an illegal overloaded protected
7395         procedure.
7396
7397 2003-11-13  Javier Miranda  <miranda@gnat.com>
7398
7399         * exp_aggr.adb:
7400         (Has_Default_Init_Comps): New function to check the presence of
7401         default initialization in an aggregate.
7402         (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
7403         extension aggregate of a limited record. In addition, a new formal
7404         was added to do not initialize the record controller (if any) during
7405         this recursive expansion of ancestors.
7406         (Init_Controller): Add support for limited record components.
7407         (Expand_Record_Aggregate): In case of default initialized components
7408         convert the aggregate into a set of assignments.
7409
7410         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
7411         describing the new syntax.
7412         Nothing else needed to be done because this subprogram delegates part of
7413         its work to P_Precord_Or_Array_Component_Association.
7414         (P_Record_Or_Array_Component_Association): Give support to the new
7415         syntax for default initialization of components.
7416
7417         * sem_aggr.adb:
7418         (Resolve_Aggregate): Relax the strictness of the frontend in case of
7419         limited aggregates.
7420         (Resolve_Record_Aggregate): Give support to default initialized
7421         components.
7422         (Get_Value): In case of default initialized components, duplicate
7423         the corresponding default expression (from the record type
7424         declaration). In case of default initialization in the *others*
7425         choice, do not check that all components have the same type.
7426         (Resolve_Extension_Aggregate): Give support to limited extension
7427         aggregates.
7428
7429         * sem_ch3.adb:
7430         (Check_Initialization): Relax the strictness of the front-end in case
7431         of aggregate and extension aggregates. This test is now done in
7432         Get_Value in a per-component manner.
7433
7434         * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
7435         expression corresponds to a limited aggregate. This test is now done
7436         in Get_Value.
7437
7438         * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
7439         Box_Present flag.
7440
7441         * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
7442         present in an N_Component_Association node
7443
7444 2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
7445
7446         * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
7447         type-conformant entry only if they are homographs.
7448
7449 2003-11-13  GNAT Script  <nobody@gnat.com>
7450
7451         * Make-lang.in: Makefile automatically updated
7452
7453 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7454
7455         * adadecode.c: Use <> form of include for ctype.h.
7456         * sysdep.c [IN_RTS]: Use <> form of include for time.h.
7457
7458 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7459
7460         * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
7461         Works around PR middle-end/6552.
7462
7463 2003-11-10  Ed Falis  <falis@gnat.com>
7464
7465         * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
7466
7467         * 5zinit.adb: (Install_Handler): Moved back to spec
7468         (Install_Signal_Handlers): Deleted
7469
7470         * 5zthrini.adb: Added context clause for System.Storage_Elements
7471         (Register): Only handles creation of taskVar; initialization moved to
7472         Thread_Body_Enter.
7473         (Reset_TSD): Deleted; replaced by Thread_Body_Enter
7474         Added declaration of environment task secondary stack and
7475         initialization.
7476
7477         * s-thread.adb: Implement bodies for thread body processing
7478
7479         * s-thread.ads:
7480         Added comment identifying supported targets for pragma Thread_Body.
7481
7482 2003-11-10  Pascal Obry  <obry@gnat.com>
7483
7484         * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
7485         GNAT_MAX_PATH_LEN.
7486
7487         * s-fileio.adb:
7488         (Open): Properly check for string length before copying into the buffer.
7489         Raises Name_Error if buffer is too small. Note that this was a potential
7490         buffer overflow.
7491
7492 2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
7493
7494         * bindgen.adb, comperr.adb: Code clean ups.
7495         * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
7496
7497 2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
7498
7499         * gnat1drv.adb: Add call to Sem_Elim.Initialize.
7500
7501 2003-11-10  Vincent Celier  <celier@gnat.com>
7502
7503         * gprcmd.adb:
7504         (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
7505         installation.
7506
7507         * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
7508
7509         * prj.adb: (Project_Empty): Add new boolean component Virtual
7510
7511         * prj.ads: (Virtual_Prefix): New constant string
7512         (Project_Data): New boolean component Virtual
7513
7514         * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
7515         a library project is extended by a virtual extending project.
7516
7517         * prj-part.adb:
7518         Modifications throughout to implement extending-all project, including:
7519         (Virtual_Hash, Processed_Hash): New hash tables
7520         (Create_Virtual_Extending_Project): New procedure
7521         (Look_For_Virtual_Projects_For): New procedure
7522
7523         * prj-proc.adb:
7524         (Process): After checking the projects, if main project is an
7525         extending-all project, set the object directory of all virtual extending
7526         project to the object directory of the main project.
7527         Adjust error message when a virtual extending project has the same
7528         object directory as an project being extended.
7529         (Recursive_Process): If name starts with the virtual prefix, set Virtual
7530         to True in the project data.
7531
7532         * prj-tree.adb:
7533         (Default_Project_Node): Add new boolean component Extending_All
7534         (Is_Extending_All): New function
7535         (Set_Is_Extending_All): New procedure
7536
7537         * prj-tree.ads: (Is_Extending_All): New function
7538         (Set_Is_Extending_All): New procedure
7539         (Project_Node_Record): New boolean component Extending_All
7540
7541         * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
7542
7543         * vms_data.ads:
7544         Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
7545
7546         * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
7547         "gprcmd prefix" to define it.
7548
7549 2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
7550
7551         * einfo.ads: Fix a typo and remove an extraneous word in comments.
7552
7553         * lib-load.adb:
7554         (Create_Dummy_Package_Unit): Set the scope of the entity for the
7555         created dummy package to Standard_Standard, not to itself, to
7556         defend other parts of the front-end against encoutering a cycle in
7557         the scope chain.
7558
7559         * sem_ch10.adb:
7560         (Analyze_With_Clause): When setting the entities for the successive
7561         N_Expanded_Names that constitute the name of a child unit, do not
7562         attempt to go further than Standard_Standard in the chain of scopes.
7563         This case arises from the placeholder units created by
7564         Create_Dummy_Package_Unit in the case of a with_clause for a
7565         nonexistent child unit.
7566
7567 2003-11-10  Ed Schonberg  <schonberg@gnat.com>
7568
7569         * exp_ch6.adb:
7570         (Expand_Thread_Body): Place subprogram on scope stack, so that new
7571         declarations are given the proper scope.
7572
7573         * sem_ch13.adb:
7574         (Check_Expr_Constants): Reject an expression that contains a constant
7575         created during expansion, and that appears after the object to which
7576         the address clause applies.
7577
7578         * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
7579         Analyze_Iteration_Scheme, to rewrite a loop parameter specification
7580         that uses 'Range of a function call with controlled components, so
7581         that the function result can be finalized before starting the loop.
7582
7583         * sem_ch8.adb:
7584         (Find_Selected_Component): Improve error message when prefix is
7585         an implicit dereference of an incomplete type.
7586
7587 2003-11-10  Robert Dewar  <dewar@gnat.com>
7588
7589         * opt.ads: New Print_Standard flag for -gnatS switch
7590
7591         * sem_ch13.adb: Remove some additional checks for unaligned arrays
7592
7593         * cstand.adb (Create_Standard): Print out package standard if -gnatS
7594         switch set
7595
7596         * debug.adb: Update doc for -gnatds to discuss relationship with new
7597         -gnatS flag
7598
7599         * sinfo.adb: Add new field Entity_Or_Associated_Node
7600
7601         * sinfo.ads: Add new field Entity_Or_Associated_Node
7602         Update documentation for Associated_Node and Entity fields to clarify
7603         relationship and usage.
7604
7605         * sprint.adb:
7606         (Write_Id): Properly process Associated_Node field in generic template
7607
7608         * switch-c.adb:
7609         Recognize new -gnatS switch for printing package Standard
7610         This replaces gnatpsta
7611
7612         * usage.adb:
7613         Add line for  new -gnatS switch for printing package Standard
7614         This replaces gnatpsta
7615
7616 2003-11-10  Andreas Jaeger  <aj@suse.de>
7617
7618         * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
7619         integer.
7620
7621 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
7622
7623         * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
7624         by gnat1.
7625
7626 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
7627
7628         * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
7629         no longer needed.
7630
7631         * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
7632
7633         * sysdep.c: Add handling of cygwin.
7634
7635 2003-11-10  GNAT Script  <nobody@gnat.com>
7636
7637         * Make-lang.in: Makefile automatically updated
7638
7639 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
7640
7641         PR 12950
7642         * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
7643         functions. Used to handle dynamic prefix relocation, via set_std_prefix.
7644         Replace GNAT_ROOT by GCC_ROOT.
7645
7646         * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
7647
7648 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
7649
7650         * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
7651         and update for changed meaning of GET_MODE_BITSIZE.
7652
7653 2003-11-04  Doug Rupp  <rupp@gnat.com>
7654
7655         * sysdep.c: Problem discovered during IA64 VMS port.
7656         [VMS] #include <unixio.h> to get proper prototypes.
7657
7658         * adaint.c:
7659         Issues discovered/problems fixed during IA64 VMS port.
7660         [VMS] #define _POSIX_EXIT for proper semantics.
7661         [VMS] #include <unixio.h> for proper prototypes.
7662         [VMS] (fork): #define IA64 version.
7663         (__gnat_os_exit): Remove unnecessary VMS specific code.
7664
7665 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7666
7667         Part of PR ada/12806
7668
7669         * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
7670         tree, not integer.
7671
7672         * decl.c:
7673         (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
7674         not integer.
7675
7676         * targtyps.c, decl.c, misc.c,
7677         gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
7678         routines to work around change in FP sizing semantics in GCC.
7679
7680         * utils.c:
7681         (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
7682
7683         * gigi.h: (enumerate_modes): New function.
7684
7685         * Make-lang.in: (ada/misc.o): Add real.h.
7686
7687         * misc.c: (enumerate_modes): New function.
7688
7689 2003-11-04  Robert Dewar  <dewar@gnat.com>
7690
7691         * 3vtrasym.adb: Minor reformatting
7692         Use terminology encoded/decoded name, rather than C++ specific notion
7693         of mangling (this is the terminology used throughout GNAT).
7694
7695         * einfo.h: Regenerated
7696
7697         * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
7698
7699         * exp_ch6.adb:
7700         (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
7701
7702         * par-prag.adb: Add dummy entry for Thread_Body pragma
7703
7704         * rtsfind.ads:
7705         Add entries for System.Threads entities for thread body processing
7706
7707         * sem_attr.adb:
7708         (Analyze_Pragma, Access attributes): Check these are not applied to a
7709         thread body, since this is not permitted
7710
7711         * sem_prag.adb: Add processing for Thread_Body pragma.
7712         Minor comment fix.
7713
7714         * sem_res.adb:
7715         (Resolve_Call): Check for incorrect attempt to call a thread body
7716          procedure with a direct call.
7717
7718         * snames.ads, snames.adb: Add entry for Thread_Body pragma
7719         Add names associated with thread body expansion
7720
7721         * snames.h: Add entry for Thread_Body pragma
7722
7723         * s-thread.adb: Add entries for thread body processing
7724         These are dummy bodies so far
7725
7726         * s-thread.ads: Add documentation on thread body handling.
7727         Add entries for thread body processing.
7728
7729 2003-11-04  Javier Miranda  <miranda@gnat.com>
7730
7731         * sem_ch10.adb:
7732         (Build_Limited_Views): Return after posting an error in case of limited
7733         with_clause on subprograms, generics, instances or generic renamings
7734         (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
7735         on subprograms, generics, instances or generic renamings
7736
7737 2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
7738
7739         * raise.c (setup_to_install): Correct mistake in last revision; two
7740         arguments out of order.
7741
7742         * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
7743         gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
7744         notice, missed in previous change.
7745         Remove trailing blanks and other style errors introduced in previous
7746         change.
7747
7748 2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
7749
7750         * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
7751         rid of the wrapper for a LJM type, ensuring we don't do that if the
7752         field is addressable.  This avoids potential low level type view
7753         mismatches later on, for instance in a by-reference argument passing
7754         process.
7755
7756 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7757
7758         * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
7759         aligned at byte boundary.
7760
7761 2003-11-04  Joel Brobecker  <brobecker@gnat.com>
7762
7763         * decl.c (components_to_record): Do not delete the empty variants from
7764         the end of the union type.
7765
7766 2003-11-04  Ed Schonberg  <schonberg@gnat.com>
7767
7768         * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
7769         operation for a derived type, an explicit declaration may use a local
7770         subtype of Boolean.
7771
7772 2003-11-04  Vincent Celier  <celier@gnat.com>
7773
7774         * make.adb (Gnatmake): Allow main sources on the command line with a
7775         library project when it is only for compilation (no binding or
7776         linking).
7777
7778 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7779
7780         * Makefile.in: Remove many duplicate variables.
7781
7782 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
7783
7784         * Make-lang.in (dvi): Move targets to $(docobjdir).
7785         (gnat_ug_vms.dvi): Simplify rule and adjust target.
7786         (gnat_ug_wnt.dvi): Likewise.
7787         (gnat_ug_unx.dvi): Likewise.
7788         (gnat_ug_vxw.dvi): Likewise.
7789         (gnat_rm.dvi): Likewise.
7790         (gnat-style.dvi): Likewise.
7791
7792 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
7793
7794         * gigi.h: Missed commit from update for C90.
7795
7796 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
7797
7798         * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
7799
7800 2003-10-31  Andreas Schwab  <schwab@suse.de>
7801
7802         * raise.c (get_action_description_for): Fix typo in last change.
7803
7804 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
7805
7806         PR ada/12761
7807         * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
7808         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
7809
7810 2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
7811
7812         * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
7813         ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
7814         gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
7815         sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
7816         trans.c, utils.c, utils2.c: Convert function prototypes to C90.
7817
7818 2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
7819
7820         * 3vtrasym.adb:
7821         Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
7822         numbers when symbol name is too long.
7823
7824 2003-10-30  Ed Falis  <falis@gnat.com>
7825
7826         * g-signal.ads, g-signal.adb: New files
7827
7828         * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
7829
7830         * Makefile.rtl: Introduce GNAT.Signals
7831
7832 2003-10-30  Robert Dewar  <dewar@gnat.com>
7833
7834         * freeze.adb: Minor reformatting
7835
7836         * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
7837
7838         * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
7839         par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
7840         New handling of Id_Check parameter to improve recognition of keywords
7841         used as identifiers.
7842         Update copyright notice to include 2003
7843
7844 2003-10-29  Robert Dewar  <dewar@gnat.com>
7845
7846         * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
7847         sem_ch10.adb: Minor reformatting
7848
7849         * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
7850         (Expand_Assign_Record): Test right hand side for bit unaligned as well
7851
7852 2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
7853
7854         * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
7855         Support for TBK$SYMBOLIZE-based symbolic traceback.
7856
7857 2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
7858
7859         * exp_disp.adb:
7860         Revert previous change, that did not work well when pragma No_Run_Time
7861         was used in conjunction with a run-time other than ZFP.
7862
7863 2003-10-29  Vincent Celier  <celier@gnat.com>
7864
7865         * make.adb:
7866         (Gnatmake): When there are no Ada mains in attribute Main, disable the
7867          bind and link steps only is switch -z is not used.
7868
7869 2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
7870
7871         * Makefile.generic: Remove duplicated setting of CC.
7872
7873         * Makefile.prolog: Set CC to gcc by default, to override make's
7874         default (cc).
7875
7876         * einfo.h: Regenerated.
7877
7878 2003-10-29  Ed Schonberg  <schonberg@gnat.com>
7879
7880         * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
7881         current body, after compiling subunit.
7882
7883         * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
7884         when in deleted code, because gigi needs properly ordered freeze
7885         actions to annotate types.
7886
7887         * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
7888         prevent the premature freezing of record type that contains
7889         subcomponents with a private type that does not yet have a completion.
7890
7891 2003-10-29  Javier Miranda  <miranda@gnat.com>
7892
7893         * sem_ch12.adb:
7894         (Analyze_Package_Instantiation): Check that instances can not be used in
7895         limited with_clauses.
7896
7897         * sem_ch8.adb:
7898         (Analyze_Package_Renaming): Check that limited withed packages cannot
7899         be renamed. Improve text on error messages related to limited
7900         with_clauses.
7901
7902         * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
7903
7904         * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
7905         Update copyright notice.
7906
7907         * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
7908         (Install_Limited_Context_Clauses): New subprogram that isolates all the
7909         checks required for limited context_clauses and installs the limited
7910         view.
7911         (Install_Limited_Withed_Unit): Complete its documentation.
7912         (Analyze_Context): Check that limited with_clauses are only allowed in
7913         package specs.
7914         (Install_Context): Call Install_Limited_Context_Clauses after the
7915         parents have been installed.
7916         (Install_Limited_Withed_Unit): Add documentation. Mark the installed
7917         package as 'From_With_Type'; this mark indicates that the limited view
7918         is installed. Used to check bad usages of limited with_clauses.
7919         (Build_Limited_Views): Do not add shadow entities to the scope's list
7920         of entities. Do not add real entities to the Non_Limited_Views chain.
7921         Improve error notification.
7922         (Remove_Context_Clauses): Remove context clauses in two phases:
7923         limited views first and regular views later (to maintain the
7924         stack model).
7925         (Remove_Limited_With_Clause): If the package is analyzed then reinstall
7926         its visible entities.
7927
7928 2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
7929
7930         * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
7931         with any type that Is_Fixed_Point_Type.
7932
7933         * sinfo.ads: Fix documentation for Associated_Node attribute.
7934
7935 2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
7936
7937         * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
7938         both '-gnatc' and '-gnatt' are specified.
7939
7940         * atree.adb (Initialize): Add initialization for Node_Count (set to
7941         zero).
7942
7943 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7944
7945         * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
7946         do not consider as Pure.
7947
7948         Part of implementation of function-at-a-time:
7949
7950         * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
7951         (tree_transform): Add new argument to build_component_ref.
7952         (tree_transform, case N_Assignment_Statement): Make and return an
7953         EXPR_STMT.
7954         (tree_transform): If result IS_STMT, set flags and return it.
7955         (gnat_expand_stmt, set_lineno_from_sloc): New functions.
7956
7957         * utils2.c (build_simple_component_ref, build_component_ref): Add new
7958         arg, NO_FOLD_P.
7959         (build_binary_op, case EQ_EXPR): Pass additional arg to it.
7960         (build_allocator): Likewise.
7961
7962         * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
7963         Add new arg to build_component_ref.
7964         (maybe_unconstrained_array, unchecked_convert): Likewise.
7965
7966         * ada-tree.def (EXPR_STMT): New code.
7967
7968         * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
7969
7970         * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
7971         build_component_ref calls.
7972
7973         * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
7974
7975         * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
7976         (build_component_ref): Add new argument, NO_FOLD_P.
7977
7978 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
7979
7980         * Makefile.generic: Add missing substitution on object_deps handling.
7981
7982         PR ada/5909:
7983         * Make-lang.in (check-ada): Enable ACATS test suite.
7984
7985 2003-10-27  Robert Dewar  <dewar@gnat.com>
7986
7987         * exp_ch3.adb:
7988         (Freeze_Array_Type): We do not need an initialization routine for types
7989         derived from String or Wide_String. They should be treated the same
7990         as String and Wide_String themselves. This caused problems with the
7991         use of Initialize_Scalars.
7992
7993         * exp_ch5.adb:
7994         (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
7995         composites. This allows use of component clauses that are not byte
7996         aligned.
7997
7998         * sem_prag.adb:
7999         (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
8000         is an attempt to pack an array of atomic objects.
8001
8002         * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
8003
8004 2003-10-27  Pascal Obry  <obry@gnat.com>
8005
8006         * g-dirope.adb:
8007         (Basename): Check for drive letters in a pathname only on DOS based OS.
8008
8009 2003-10-27  Vincent Celier  <celier@gnat.com>
8010
8011         * make.adb:
8012         (Gnatmake): When unable to change dir to the object dir, display the
8013         content of the parent dir of the obj dir, to try to understand why this
8014         happens.
8015
8016 2003-10-27  GNAT Script  <nobody@gnat.com>
8017
8018         * Make-lang.in: Makefile automatically updated
8019
8020 2003-10-27  Ed Schonberg  <schonberg@gnat.com>
8021
8022         * sem_ch12.adb:
8023         (Inline_Instance_Body): Indicate that the save/restore of use_clauses
8024         should not be done in Save/Restore_Scope_Stack, because it is performed
8025         locally.
8026
8027         * sem_ch8.adb:
8028         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
8029         whether use clauses should be removed/restored.
8030
8031         * sem_ch8.ads:
8032         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
8033         whether use clauses should be removed/restored.
8034
8035 2003-10-26  Andreas Jaeger  <aj@suse.de>
8036
8037         * Makefile.in: Remove duplicated lines.
8038
8039 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
8040
8041         * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
8042         minimize the differences with ACT tree.
8043
8044         * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
8045         gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
8046         Gnatvsn.Gnat_Static_Version_String to reduce differences between
8047         ACT and FSF trees.
8048
8049 2003-10-24  Pascal Obry  <obry@gnat.com>
8050
8051         * adadecode.c (ostrcpy): New function.
8052         (__gnat_decode): Use ostrcpy of strcpy.
8053         (has_prefix): Set first parameter a const.
8054         (has_suffix): Set first parameter a const.
8055         Update copyright notice. Fix source name in header.
8056         Removes a trailing space.
8057         PR ada/12014.
8058
8059 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
8060
8061         * exp_disp.adb:
8062         Remove the test against being in No_Run_Time_Mode before generating a
8063         call to Register_Tag. It is redundant with the test against the
8064         availability of the function Register_Tag.
8065
8066 2003-10-24  Vincent Celier  <celier@gnat.com>
8067
8068         * g-catiio.adb: (Month_Name): Correct spelling of February
8069
8070         * make.adb: (Mains): New package
8071         (Initialize): Call Mains.Delete
8072         (Gnatmake): Check that each main on the command line is a source of a
8073         project file and, if there are several mains, each of them is a source
8074         of the same project file.
8075         (Gnatmake): When a foreign language is specified in attribute Languages,
8076         no main is specified on the command line and attribute Mains is not
8077         empty, only build the Ada main. If there is no Ada main, just compile
8078         the Ada sources and their closure.
8079         (Gnatmake): If a main is specified on the command line with directory
8080         information, check that the source exists and, if it does, that the path
8081         is the actual path of a source of a project.
8082
8083         * prj-env.adb:
8084         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
8085         Full_Path is True, return the full path instead of the simple file name.
8086         (Project_Of): New function
8087
8088         * prj-env.ads:
8089         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
8090         defaulted to False.
8091         (Project_Of): New function
8092
8093 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
8094
8095         * Makefile.generic:
8096         Ensure objects of main project are always checked and rebuilt if needed.
8097         Set CC to gcc by default.
8098         Prepare new handling of link by creating a global archive (not activated
8099         yet).
8100
8101         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
8102         stringt.h: Update copyright notice. Remove trailing blanks.
8103         Fix source name in header.
8104
8105 2003-10-24  Robert Dewar  <dewar@gnat.com>
8106
8107         * sem_ch12.adb: Minor reformatting
8108
8109         * sem_ch3.adb:
8110         Minor reformatting (including new function return style throughout)
8111
8112         * sem_ch3.ads:
8113         Minor reformatting (including new function return style throughout)
8114
8115 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
8116
8117         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
8118         stringt.h: Update copyright notice. Remove trailing blanks.
8119         Fix source name in header.
8120
8121 2003-10-24  GNAT Script  <nobody@gnat.com>
8122
8123         * Make-lang.in: Makefile automatically updated
8124
8125 2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
8126
8127         * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
8128         stringt.h: Convert to ISO C90 declarations and definitions.
8129
8130 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
8131
8132         PR ada/11978:
8133         * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
8134         External_Tag attribute definition clauses.
8135
8136 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
8137
8138         PR ada/7613:
8139         * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
8140         child unit, generate a fully qualified name to avoid spurious errors
8141         when the context contains renamings of different child units with
8142         the same simple name.
8143
8144         * exp_dbug.ads: Add documentation on name qualification for renamings
8145         of child units.
8146
8147 2003-10-23  Robert Dewar  <dewar@gnat.com>
8148
8149         * g-regpat.ads, g-regpat.adb: Minor reformatting
8150
8151 2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
8152
8153         * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
8154
8155 2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8156
8157         * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
8158         Machine call.
8159
8160         * urealp.h: (Machine): Update to proper definition.
8161
8162 2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
8163
8164         * init.c, adaint.c: Minor reformatting.
8165
8166 2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
8167
8168         * adaint.c (w32_epoch_offset): Define static const at file level.
8169         (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
8170         rather than t_create, t_access in call to GetFileTime. Use union
8171         to convert between FILETIME and  unsigned long long.
8172         (__gnat_file_time_name): Test for invalid file handle.
8173         (__gnat_set_filetime_name): Support win32 targets using
8174         w32api SetFileTime.
8175
8176 2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
8177
8178         * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
8179
8180         * ctrl_c.c (__gnat_int_handler): Remove declaration.
8181
8182         * decl.c (creat_concat_name):  Const-ify prefix.
8183
8184         * adaint.c: Include ctype.h if __MINGW32__.
8185         (__gnat_readlink): Mark arguments as possibly unused.
8186         (__gnat_symlink): Likewise.
8187         (__gnat_is_symbolic_link): Likewise.
8188         (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
8189         declaration
8190         (__gnat_file_time_name): Don't declare struct stat statbuf when
8191         not needed.
8192         (__gnat_is_absolute_path): Add parenthesis around condition of
8193         'if' statement to avoid warning.
8194         (__gnat_plist_init): Specify void as parameter.
8195         (plist_enter): Likewise.
8196         (plist_leave): Likewise.
8197         (remove_handle): Make static. Initialize prev.
8198
8199 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
8200
8201         * Makefile.in: Disable build of gnatpsta. PR ada/10110.
8202         * cstreams.c (__gnat_full_name): Minor improvements and clean up
8203         of previous change.
8204
8205 2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8206
8207         * tracebak.c (MAX): Avoid redefinition warning.
8208
8209         * init.c [sgi] (__gnat_error_handler): Remove i, unused.
8210         Change msg to const char *.
8211         (__gnat_install_handler): Remove ss, unused.
8212         [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
8213         to const char *.
8214         * cstreams.c (__gnat_full_name): Declare p only when used.
8215         (__gnat_full_name) [sgi] Return buffer.
8216
8217 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
8218
8219         * mingw32.h: New file.
8220         * gnat_wrapper.adb: New file.
8221
8222 2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
8223
8224         * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
8225         string match a pre compiled regular expression (the corresponding
8226         version of the function working on a raw regular expression)
8227         Fix typos in various comments
8228         Update copyright notice in spec
8229
8230 2003-10-21  Gary Dismukes  <dismukes@gnat.com>
8231
8232         * exp_ch3.adb:
8233         (Component_Needs_Simple_Initialization): Return False when the type is a
8234         packed bit array. Revise spec comments to document this case.
8235
8236         * exp_prag.adb:
8237         (Expand_Pragma_Import): Set any expression on the imported object to
8238         empty to avoid initializing imported objects (in particular this
8239         covers the case of zero-initialization of bit arrays).
8240         Update copyright notice.
8241
8242 2003-10-21  Ed Schonberg  <schonberg@gnat.com>
8243
8244         * sem_ch12.adb:
8245         (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
8246         a subunit is missing.
8247         (Instantiate_Subprogram_Body): If body of function is missing, set type
8248         of return expression explicitly in dummy body, to prevent cascaded
8249         errors when a subunit is missing.
8250         Fixes PR 5677.
8251
8252         * sem_ch3.adb:
8253         (Access_Subprogram_Declaration): Verify that return type is valid.
8254         Fixes PR 8693.
8255
8256         * sem_elab.adb:
8257         (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
8258         generic.
8259         Fixes PR 12318.
8260
8261         * sem_util.adb:
8262         (Corresponding_Discriminant): If the scope of the discriminant is a
8263         private type without discriminant, use its full view.
8264         Fixes PR 8247.
8265
8266 2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
8267
8268         * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
8269         3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
8270         3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
8271         55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
8272         56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
8273         59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
8274         5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
8275         5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
8276         5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
8277         5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
8278         5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
8279         5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
8280         5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
8281         5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
8282         7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
8283         a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
8284         a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
8285         a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
8286         bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
8287         erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
8288         err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
8289         g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
8290         g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
8291         g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
8292         g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
8293         g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
8294         g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
8295         gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
8296         g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
8297         g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
8298         i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
8299         prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
8300         prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
8301         s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
8302         s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
8303         s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
8304         s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
8305         s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
8306         s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
8307         s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
8308         s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
8309         socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
8310         s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
8311         s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
8312         s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
8313         styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
8314         s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
8315         tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
8316         vms_conv.ads, vms_conv.adb, vms_data.ads,
8317         vxaddr2line.adb: Files added. Merge with ACT tree.
8318
8319         * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
8320         5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
8321         5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
8322         5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
8323         g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
8324         s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
8325         s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
8326         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
8327         s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
8328         s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
8329
8330         * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
8331         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
8332         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
8333         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
8334         4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
8335         4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
8336         4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
8337         4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
8338         51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
8339         53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
8340         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
8341         5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
8342         5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
8343         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
8344         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
8345         5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
8346         5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
8347         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
8348         5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
8349         5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
8350         5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
8351         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
8352         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
8353         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
8354         5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
8355         5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
8356         5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
8357         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
8358         5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
8359         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
8360         5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
8361         5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
8362         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
8363         5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
8364         6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
8365         7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
8366         7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
8367         a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
8368         a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
8369         a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
8370         a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
8371         a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
8372         ali.adb, ali.ads, ali-util.adb, ali-util.ads,
8373         a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
8374         a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
8375         a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
8376         a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
8377         a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
8378         a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
8379         a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
8380         a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
8381         a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
8382         a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
8383         a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
8384         a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
8385         atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
8386         a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
8387         a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
8388         bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
8389         checks.adb, checks.ads, cio.c, comperr.adb,
8390         comperr.ads, csets.adb, cstand.adb, cstreams.c,
8391         debug_a.adb, debug_a.ads, debug.adb, decl.c,
8392         einfo.adb, einfo.ads, errout.adb, errout.ads,
8393         eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
8394         expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
8395         exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
8396         exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
8397         exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
8398         exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
8399         exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
8400         exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
8401         exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
8402         fe.h, fmap.adb, fmap.ads, fname.adb,
8403         fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
8404         freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
8405         g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
8406         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
8407         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
8408         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
8409         g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
8410         g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
8411         g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
8412         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
8413         g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
8414         g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
8415         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
8416         g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
8417         gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
8418         gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
8419         gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
8420         gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
8421         gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
8422         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
8423         g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
8424         g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
8425         g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
8426         g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
8427         g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
8428         g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
8429         g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
8430         i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
8431         i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
8432         inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
8433         itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
8434         layout.adb, lib.adb, lib.ads, lib-list.adb,
8435         lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
8436         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
8437         link.c, live.adb, make.adb, make.ads,
8438         Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
8439         mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
8440         mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
8441         misc.c, mkdir.c, mlib.adb, mlib.ads,
8442         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
8443         mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
8444         namet.adb, namet.ads, namet.h, nlists.ads,
8445         nlists.h, nmake.adt, opt.adb, opt.ads,
8446         osint.adb, osint.ads, osint-b.adb, osint-c.adb,
8447         par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
8448         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
8449         par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
8450         par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
8451         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
8452         prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
8453         prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
8454         prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
8455         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
8456         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
8457         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
8458         prj-util.adb, prj-util.ads, raise.c, raise.h,
8459         repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
8460         rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
8461         s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
8462         s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
8463         scans.ads, scn.adb, scn.ads, s-crc32.adb,
8464         s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
8465         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
8466         sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
8467         sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
8468         sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
8469         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
8470         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
8471         sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
8472         sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
8473         sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
8474         sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
8475         sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
8476         s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
8477         s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
8478         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
8479         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
8480         s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
8481         s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
8482         s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
8483         sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
8484         sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
8485         sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
8486         s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
8487         s-memory.adb, s-memory.ads, snames.adb, snames.ads,
8488         snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
8489         s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
8490         s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
8491         s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
8492         s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
8493         s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
8494         s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
8495         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
8496         s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
8497         s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
8498         s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
8499         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
8500         s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
8501         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
8502         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
8503         s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
8504         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
8505         stringt.adb, stringt.ads, stringt.h, style.ads,
8506         stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
8507         s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
8508         s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
8509         switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
8510         s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
8511         table.adb, table.ads, targparm.adb, targparm.ads,
8512         targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
8513         trans.c, tree_io.adb, treepr.adb, treeprs.adt,
8514         ttypes.ads, types.ads, types.h, uintp.adb,
8515         uintp.ads, uintp.h, uname.adb, urealp.adb,
8516         urealp.ads, urealp.h, usage.adb, utils2.c,
8517         utils.c, validsw.adb, validsw.ads, widechar.adb,
8518         xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
8519         xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
8520         einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
8521         gnatvsn.ads: Merge with ACT tree.
8522
8523         * gnatvsn.adb: Rewritten in a simpler and more efficient way.
8524
8525 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
8526
8527         * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
8528         (gnat_ug_vmx.info): Likewise.
8529         (gnat_ug_vxw.info): Likewise.
8530         (gnat_ug_wnt.info): Likewise.
8531         (gnat_rm.info): Likewise.
8532         (gnat-style.info): Likewise.
8533
8534         * Make-lang.in (ada.install-info): Remove target.
8535         (info): New target.
8536         (install-info): Likewise.
8537         (gnat_ug_unx.info): Simplify rule.
8538         (gnat_ug_vmx.info): Likewise.
8539         (gnat_ug_vxw.info): Likewise.
8540         (gnat_ug_wnt.info): Likewise.
8541         (gnat_rm.info): Likewise.
8542         (gnat-style.info): Likewise.
8543
8544 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
8545
8546         * Make-lang.in: Replace uses of $(target_alias) with
8547         $(target_noncanonical).
8548         * ada/Makefile.in: Remove unused mention of $(target_alias).
8549
8550 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
8551
8552         * Make-lang.in (ada.info): Replace with ...
8553         (info): ... this.
8554         (ada.dvi): Replace with ...
8555         (dvi): ... this.
8556
8557 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
8558
8559         * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
8560         initialize dconstp5 and dconstmp5.
8561
8562 2003-09-28  Richard Henderson  <rth@redhat.com>
8563
8564         * trans.c (tree_transform): Update call to expand_asm_operands.
8565
8566 2003-09-21  Richard Henderson  <rth@redhat.com>
8567
8568         * trans.c, utils.c: Revert.
8569
8570 2003-09-21  Richard Henderson  <rth@redhat.com>
8571
8572         * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
8573         change to const.
8574
8575 2003-09-04  Michael Matz  <matz@suse.de>
8576
8577         * misc.c: Include "target.h".
8578         * Make-lang.in (misc.o): Add dependency on target.h.
8579
8580 2003-09-03  DJ Delorie  <dj@redhat.com>
8581
8582         * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
8583         hook.
8584
8585 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
8586
8587         * Makefile.in: Update substitutions to match changes to
8588         configure.  Use include directives instead of @-insertions
8589         to read in host and target fragments.  Add a rule to
8590         regenerate ada/Makefile.
8591
8592 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
8593
8594         * lang-options.h: Remove.
8595         * lang.opt: Add help text.
8596
8597 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
8598
8599         * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
8600         calls.
8601
8602 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
8603
8604         * misc.c (gnat_handle_option): Don't handle filenames.
8605
8606 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
8607
8608         * Make-lang.in: Replace PWD with PWD_COMMAND.
8609         * Makefile.adalib: Likewise.
8610         * Makefile.in: Likewise.
8611
8612 2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
8613
8614         * misc.c (gnat_argv): Revert last change.
8615         (gnat_handle_option, gnat_init_options): Copy arguments.
8616
8617 2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
8618
8619         * misc.c (gnat_argv): Make const.
8620
8621 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
8622
8623         * misc.c (save_argc, save_argv): Keep non-static!
8624
8625 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
8626
8627         * misc.c (save_argc, save_argv): Make static.
8628         (gnat_init_options): New prototype.
8629         (gnat_init_options): Update.
8630
8631 2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
8632
8633         * gnat_ug.texi: Remove unlikely characters from @vars.
8634         * gnat_ug_vms.texi: Regenerate.
8635
8636 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
8637
8638         * misc.c (record_code_position): Adjust emit_note call.
8639
8640 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
8641
8642         * misc.c (gnat_handle_option): Don't check for missing arguments.
8643
8644 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
8645
8646         * utils.c (end_subprog_body): Adjust expand_function_end call.
8647
8648 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
8649
8650         * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
8651         Bind_Main_Program.
8652
8653 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
8654
8655         * lang.opt: Declare Ada.
8656         * misc.c (gnat_init_options): Update.
8657
8658 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
8659
8660         * utils.c (begin_subprog_body): Adjust init_function_start call.
8661
8662 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
8663
8664         * Make-lang.in: Update to use options.c and options.h.
8665         * misc.c: Include options.h not aoptions.h.
8666         (gnat_handle_option): Abort on unrecognized switch.
8667         (gnat_init_options): Request Ada switches.
8668
8669 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
8670
8671         * lang.opt: Add -Wall.
8672         * misc.c (gnat_handle_option): Handle it.
8673
8674 2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
8675
8676         * misc.c (gnat_handle_option): Fix warnings.
8677
8678 2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
8679
8680         * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
8681
8682 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
8683
8684         * Make-lang.in: Update to handle command-line options.
8685         * lang.opt: New file.
8686         * misc.c: Include aoptions.h.
8687         (cl_options_count, cl_options): Remove.
8688         (gnat_handle_option): New.
8689         (gnat_decode_option): Remove.
8690         (LANG_HOOKS_DECODE_OPTION): Remove.
8691         (LANG_HOOKS_HANDLE_OPTION): Override.
8692
8693 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
8694
8695         * init.c, misc.c, trans.c, utils.c: Remove dead code.
8696
8697 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
8698
8699         * Makefile.in: Replace "host_canonical" with "host" for autoconf
8700         substitution.
8701
8702 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
8703
8704         * Make-lang.in: Update.
8705         * misc.c: Include opts.h. Define cl_options_count and cl_options.
8706
8707 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
8708
8709         * misc.c (gnat_init_options): Update.
8710
8711 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
8712
8713         * Make-lang.in (ada/b_gnatb.o-warn): Remove.
8714         * bindgen.adb (Gen_Main_C): Mark ensure_reference with
8715         __attribute__ ((__unused__)).
8716
8717 2003-06-05  Jan Hubicka  <jh@suse.cz>
8718
8719         * Make-lang.in:  Add support for stageprofile and stagefeedback
8720
8721 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
8722
8723         * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
8724         (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
8725
8726 2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
8727
8728         * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
8729         Remove non-VMS directive.
8730         (Switches for gnatlbr, Optimization Levels): Remove non-VMS
8731         alternatives.
8732         (Examples of gnatls Usage): Remove VMS alternative.
8733
8734 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
8735
8736         PR ada/9953:
8737         * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
8738         and turn ZCX_By_Default back to False since the underlying support
8739         is not quite there yet.
8740
8741 2003-06-01  Andreas Jaeger  <aj@suse.de>
8742
8743         * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
8744         and ROUND_TYPE_SIZE_UNIT.
8745
8746 2003-05-22   Geert Bosch <bosch@gnat.com>
8747
8748         * gnat_rm.texi : Remove reference to Ada Core Technologies.
8749
8750 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
8751
8752         * trans.c (tree_transform): Use location_t and input_location
8753         directly.
8754         (build_unit_elab): Likewise.
8755         * utils.c (create_label_decl): Likewise.
8756
8757 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
8758
8759         * trans.c (tree_transform, build_unit_elab,
8760         set_lineno): Rename lineno to input_line.
8761         * utils.c (pushdecl, create_label_decl, begin_subprog_body,
8762         end_subprog_body): Likewise.
8763         * utils2.c (build_call_raise): Likewise.
8764
8765 2003-05-01  Laurent Guerby <guerby@acm.org>
8766
8767         PR ada/10546
8768         * 5iosinte.ads: Increase pthread_cond_t size to match recent
8769         LinuxThread and NPTL version, merge from ACT.
8770
8771 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
8772
8773         * utils.c (convert): No need to clear TREE_CST_RTL.
8774
8775 2003-04-23   Geert Bosch <bosch@gnat.com>
8776
8777         * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
8778         1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
8779         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
8780         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
8781         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
8782         4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
8783         4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
8784         4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
8785         4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
8786         4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
8787         4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
8788         4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
8789         52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
8790         5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
8791         5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
8792         5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
8793         5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
8794         5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
8795         5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
8796         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
8797         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
8798         5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
8799         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
8800         5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
8801         5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
8802         5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
8803         5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
8804         5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
8805         5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
8806         5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
8807         5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
8808         5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
8809         5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
8810         5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
8811         5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
8812         5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
8813         5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
8814         5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
8815         5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
8816         5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
8817         5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
8818         5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
8819         5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
8820         5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
8821         6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
8822         7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
8823         7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
8824         9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
8825         a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
8826         a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
8827         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
8828         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
8829         a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
8830         a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
8831         a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
8832         a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
8833         a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
8834         a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
8835         a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
8836         a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
8837         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
8838         a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
8839         a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
8840         a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
8841         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
8842         a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
8843         a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
8844         a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
8845         a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
8846         a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
8847         a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
8848         a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
8849         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
8850         a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
8851         a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
8852         a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
8853         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
8854         a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
8855         a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
8856         a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
8857         a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
8858         a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
8859         a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
8860         a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
8861         a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
8862         a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
8863         a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
8864         a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
8865         a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
8866         a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
8867         a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
8868         a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
8869         a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
8870         a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
8871         a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
8872         a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
8873         a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
8874         a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
8875         a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
8876         a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
8877         a-wttest.ads, ada-tree.h, ada.ads, ada.h,
8878         adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
8879         ali.adb, ali.ads, alloc.ads, argv.c,
8880         atree.adb, atree.ads, atree.h, aux-io.c,
8881         back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
8882         binde.adb, binde.ads, binderr.adb, binderr.ads,
8883         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
8884         butil.adb, butil.ads, cal.c, calendar.ads,
8885         casing.adb, casing.ads, ceinfo.adb, checks.adb,
8886         checks.ads, cio.c, comperr.adb, comperr.ads,
8887         config-lang.in, csets.adb, csets.ads, csinfo.adb,
8888         cstand.adb, cstand.ads, cuintp.c, debug.adb,
8889         debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
8890         dec-io.ads, dec.ads, deftarg.c, directio.ads,
8891         einfo.adb, einfo.ads, elists.adb, elists.ads,
8892         elists.h, errno.c, errout.adb, errout.ads,
8893         eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
8894         exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
8895         exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
8896         exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
8897         exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
8898         exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
8899         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
8900         exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
8901         exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
8902         exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
8903         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
8904         exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
8905         exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
8906         exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
8907         exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
8908         fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
8909         fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
8910         freeze.adb, freeze.ads, frontend.adb, frontend.ads,
8911         g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
8912         g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
8913         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
8914         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
8915         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
8916         g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
8917         g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
8918         g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
8919         g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
8920         g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
8921         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
8922         g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
8923         g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
8924         g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
8925         g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
8926         g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
8927         g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
8928         g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
8929         g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
8930         g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
8931         g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
8932         g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
8933         get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
8934         gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
8935         gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
8936         gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
8937         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
8938         gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
8939         gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
8940         gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
8941         hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
8942         i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
8943         i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
8944         i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
8945         i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
8946         i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
8947         i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
8948         inline.adb, inline.ads, interfac.ads, ioexcept.ads,
8949         itypes.adb, itypes.ads, krunch.adb, krunch.ads,
8950         layout.adb, layout.ads, lib-list.adb, lib-load.adb,
8951         lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
8952         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
8953         lib.adb, lib.ads, live.adb, live.ads,
8954         machcode.ads, make.adb, make.ads, makeusg.adb,
8955         makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
8956         mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
8957         memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
8958         mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
8959         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
8960         mlib.ads, namet.adb, namet.ads, nlists.adb,
8961         nlists.ads, opt.adb, opt.ads, osint-b.adb,
8962         osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
8963         osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
8964         osint.ads, output.adb, output.ads, par-ch10.adb,
8965         par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
8966         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
8967         par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
8968         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
8969         par-tchk.adb, par-util.adb, par.adb, par.ads,
8970         prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
8971         prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
8972         prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
8973         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
8974         prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
8975         prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
8976         prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
8977         prj.adb, prj.ads, repinfo.adb, repinfo.ads,
8978         restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
8979         rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
8980         s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
8981         s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
8982         s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
8983         s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
8984         s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
8985         s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
8986         s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
8987         s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
8988         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
8989         s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
8990         s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
8991         s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
8992         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
8993         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
8994         s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
8995         s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
8996         s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
8997         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
8998         s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
8999         s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
9000         s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
9001         s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
9002         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
9003         s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
9004         s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
9005         s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
9006         s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
9007         s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
9008         s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
9009         s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
9010         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
9011         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
9012         s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
9013         s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
9014         s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
9015         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
9016         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
9017         s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
9018         s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
9019         s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
9020         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
9021         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
9022         s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
9023         s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
9024         s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
9025         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
9026         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
9027         s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
9028         s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
9029         s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
9030         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
9031         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
9032         s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
9033         s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
9034         s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
9035         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
9036         s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
9037         s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
9038         s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
9039         s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
9040         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
9041         s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
9042         s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
9043         s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
9044         s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
9045         s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
9046         s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
9047         s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
9048         s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
9049         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
9050         s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
9051         s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
9052         s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
9053         s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
9054         s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
9055         s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
9056         s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
9057         s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
9058         s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
9059         s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
9060         s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
9061         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
9062         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
9063         s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
9064         s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
9065         s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
9066         s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
9067         s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
9068         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
9069         s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
9070         s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
9071         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
9072         s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
9073         scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
9074         sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
9075         sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
9076         sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
9077         sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
9078         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
9079         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
9080         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
9081         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
9082         sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
9083         sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
9084         sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
9085         sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
9086         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
9087         sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
9088         sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
9089         sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
9090         sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
9091         sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
9092         sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
9093         sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
9094         snames.ads, sprint.adb, sprint.ads, stand.adb,
9095         stand.ads, stringt.adb, stringt.ads, style.adb,
9096         style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
9097         switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
9098         switch-m.ads, switch.adb, switch.ads, system.ads,
9099         table.adb, table.ads, targparm.adb, targparm.ads,
9100         tbuild.adb, tbuild.ads, text_io.ads, trans.c,
9101         tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
9102         tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
9103         ttypef.ads, ttypes.ads, types.adb, types.ads,
9104         uintp.adb, uintp.ads, uname.adb, uname.ads,
9105         unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
9106         usage.adb, usage.ads, validsw.adb, validsw.ads,
9107         widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
9108         xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
9109         xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
9110         formatting and other trivial changes from ACT.
9111
9112 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
9113
9114         * gigi.h, utils2.c (build_constructor):
9115         Rename gnat_build_constructor. Use build_constructor.
9116         * decl.c (gnat_to_gnu_entity)
9117         * trans.c (tree_transform, pos_to_constructor, extract_values)
9118         * ada/utils.c (build_template, convert_to_fat_pointer, convert)
9119         (unchecked_convert)
9120         * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
9121         (fill_vms_descriptor):
9122         Update to match.
9123
9124 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
9125
9126         * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
9127         * misc.c (gnat_tree_size): New function.
9128         (LANG_HOOKS_TREE_SIZE): Override.
9129
9130 2003-04-03  Jason Merrill  <jason@redhat.com>
9131
9132         * misc.c (gnat_adjust_rli): #if 0.
9133
9134 2003-03-31   Geert Bosch <bosch@gnat.com>
9135
9136         PR ada/10020
9137         * link.c : Fix misspelled "const" keyword
9138
9139 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
9140
9141         PR c++/7086
9142         * utils2.c: Adjust calls to put_var_into_stack.
9143
9144 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
9145
9146         * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
9147
9148 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
9149
9150         * misc.c (gnat_init): Update for new prototype.
9151
9152 2003-03-05  Olivier Hainque  <hainque@gnat.com>
9153
9154         ada/9961
9155         * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
9156         warning, and fix return type for the IN_RTS && !SJLJ case.
9157
9158 2003-03-04  Tom Tromey  <tromey@redhat.com>
9159
9160         * Make-lang.in (ada.tags): New target.
9161
9162 2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
9163
9164         ada/9911
9165         * a-except.adb (Unwind_RaiseException): Import a GNAT specific
9166         wrapper, which name remains constant whatever underlying GCC
9167         scheme.
9168
9169         * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
9170         the stable interface needed for a-except.
9171
9172 2003-03-02  Andreas Jaeger  <aj@suse.de>
9173
9174         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
9175         gnat_ug_wnt.texi: Regenerate.
9176
9177 2003-03-02  Laurent Guerby <guerby@acm.org>
9178
9179         * Makefile.in (install-gnatlib): Match previous change there
9180         so it works.
9181
9182 2003-02-28  Andreas Schwab  <schwab@suse.de>
9183
9184         * Make-lang.in (install-gnatlib): Change to ada directory before
9185         running make instead of using ada/Makefile directly.
9186
9187 2003-02-18  Ben Elliston  <bje@redhat.com>
9188
9189         Part of fix for PR ada/9406
9190         * gnat_ug.texi (Binder output file): Grammar fix.
9191
9192 2003-02-18  Ben Elliston  <bje@redhat.com>
9193
9194         PR other/7350
9195         * 5qtaprop.adb (Sleep): Fix typo in comment.
9196
9197 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
9198
9199         * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
9200         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
9201         gnat_ug_wnt.texi: Regenerate.
9202
9203 2003-02-03  Christian Cornelssen <ccorn@cs.tu-berlin.de>
9204
9205         * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
9206         be created if necessary.
9207         (ada.install-common): Let $(DESTDIR)$(bindir) be created
9208         if necessary.  Remove erroneous and redundant gnatchop
9209         installation commands.  Test for gnatdll before attempting
9210         to install it.
9211         (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
9212         and gnatdll from all plausible locations.
9213
9214 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
9215
9216         * utils2.c (build_unary_op): Don't check flag_volatile.
9217         * gnat_ug.texi: Remove -fvolatile from example.
9218         * gnat_ug_vxw.texi: Likewise.
9219
9220 2003-01-29  Laurent Guerby <guerby@acm.org>
9221
9222         PR ada/8344
9223         * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
9224         * Makefile.in: match previous change.
9225         * Make-lang.in: match previous change.
9226
9227 2003-01-29      Joel Sherrill <joel@OARcorp.com>
9228
9229         * 5rosinte.ads: Add SIGXCPU.
9230         * 5rtpopsp.adb: New file.
9231         * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
9232         * Makefile.in: Recognize more RTEMS targets and add the RTEMS
9233         specific file 5rtpopsp.adb.
9234         * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
9235         is likely needed for all newlib targets.
9236         * init.c: Add RTEMS specific version of __gnat_initialize().
9237
9238 2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9239
9240         * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
9241
9242 2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9243
9244         * init.c (__gnat_error_handler): Make msg const.
9245
9246         * gmem.c (convert_addresses): Move declaration ...
9247         * adaint.h: ... here.
9248         * adaint.c (convert_addresses): Adapt addrs type to match
9249         prototype.
9250
9251         * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
9252
9253 2003-01-24  Andreas Schwab  <schwab@suse.de>
9254
9255         * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
9256         size_t to avoid warning.
9257
9258 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
9259
9260         * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
9261
9262 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
9263
9264         * gnat_rm.texi: Remove RCS version number.
9265
9266         * ada-tree.h (union lang_tree_node): Add chain_next option.
9267
9268 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
9269
9270         * Make-lang.in (ada.install-info, ada.install-common,
9271         ada.uninstall): Prepend $(DESTDIR) to the destination
9272         directory in all (un)installation commands.
9273         * Makefile.in (install-gnatlib, install-rts): Ditto.
9274
9275 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
9276
9277         * gnat_rm.texi, gnat_ug.texi: Use @copying.
9278         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
9279         gnat_ug_wnt.texi: Regenerate.
9280
9281 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
9282
9283         * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
9284         only.
9285         * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
9286         $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
9287         $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
9288         ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
9289         ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
9290         $(srcdir)/doc/include/gcc-common.texi.
9291
9292 2002-12-15   Geert Bosch <bosch@gnat.com>
9293
9294         * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
9295
9296 2002-12-14   Geert Bosch <bosch@gnat.com>
9297
9298         * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
9299         case of a body created for a Renaming_As_Body, on which
9300         conformance checks are not performed. Fixes PR ada/5690.
9301
9302 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
9303
9304         * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
9305         utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
9306         not already included.
9307         * Make-lang.in: Update dependencies.
9308
9309 2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
9310         * adaint.c (__gnat_tmp_name): Better, but good enough for now,
9311         solution to buffer overflow bug on GNU/Linux.
9312
9313 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
9314         Closes PR ada/5856 and PR ada/6919 !
9315         * bindgen.adb: Remove all references to Public_Version.
9316         * comperr.adb: Remove all references to Public_Version and
9317         GNATPRO_Version; correct bug reporting instructions.
9318         * comperr.ads: Change to match bug box.
9319         * gnatvsn.ads: Remove all references to Public version and
9320         GNATPRO version.
9321
9322 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
9323         PR ada/6919
9324         * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
9325         GNU/Linux.
9326
9327         PR ada/6558
9328         * config-lang.in: Remove diff_excludes.
9329
9330 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
9331         PR ada/8358
9332         * trans.c (gnu_pending_elaboration_lists): New GC root.
9333         (build_unit_elab): Use..
9334
9335 2002-10-30   Geert Bosch <bosch@gnat.com>
9336         PR ada/6558
9337         * misc.c : Include optabs.h
9338
9339         * Make-lang.in (misc.o): Add dependency on optabs.h
9340
9341 2002-10-29   Geert Bosch <bosch@gnat.com>
9342         PR ada/6558
9343         * Make-lang.in (gnatbind): Depend on CONFIG_H
9344
9345 2002-10-29  Geert bosch  <bosch@gnat.com>
9346         PR ada/6558
9347         * misc.c: Unrevert misc.c (1.13)
9348
9349 2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
9350
9351         * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
9352         maintainership comments.
9353
9354 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
9355         PR ada/5904
9356         * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
9357         5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
9358         5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
9359         7staprop.adb: Correct statements in comments about
9360         maintainership of GNAT.
9361
9362         PR ada/5904
9363         * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
9364         gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
9365         osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
9366         osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
9367         s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
9368         s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
9369         sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
9370         switch-c.ads switch-m.adb switch-m.ads: Correct statements in
9371         comments about maintainership of GNAT.
9372
9373         PR ada/6919 (forward port of patch for PR ada/5904)
9374         * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
9375         4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
9376         4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
9377         4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
9378         4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
9379         4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
9380         4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
9381         52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
9382         5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
9383         5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
9384         5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
9385         5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
9386         5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
9387         5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
9388         5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
9389         5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
9390         5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
9391         5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
9392         5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
9393         5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
9394         5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
9395         5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
9396         5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
9397         5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
9398         5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
9399         5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
9400         5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
9401         5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
9402         7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
9403         a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
9404         a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
9405         a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
9406         a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
9407         a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
9408         a-except.adb a-except.ads a-excpol.adb a-exctra.adb
9409         a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
9410         a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
9411         a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
9412         a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
9413         a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
9414         a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
9415         a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
9416         a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
9417         a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
9418         a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
9419         a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
9420         a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
9421         a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
9422         a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
9423         a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
9424         a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
9425         a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
9426         a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
9427         a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
9428         a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
9429         a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
9430         a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
9431         a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
9432         a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
9433         a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
9434         a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
9435         a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
9436         a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
9437         a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
9438         a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
9439         a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
9440         a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
9441         a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
9442         adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
9443         alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
9444         back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
9445         binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
9446         bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
9447         ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
9448         csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
9449         cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
9450         debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
9451         einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
9452         errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
9453         exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
9454         exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
9455         exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
9456         exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
9457         exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
9458         exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
9459         exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
9460         exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
9461         exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
9462         exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
9463         exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
9464         exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
9465         exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
9466         final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
9467         fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
9468         freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
9469         g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
9470         g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
9471         gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
9472         gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
9473         gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
9474         gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
9475         gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
9476         gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
9477         i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
9478         i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
9479         i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
9480         i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
9481         impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
9482         itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
9483         lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
9484         lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
9485         lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
9486         lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
9487         makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
9488         namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
9489         nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
9490         osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
9491         par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
9492         par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
9493         par-endh.adb par-labl.adb par-load.adb par-prag.adb
9494         par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
9495         prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
9496         prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
9497         prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
9498         prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
9499         prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
9500         prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
9501         repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
9502         rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
9503         s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
9504         s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
9505         s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
9506         s-direio.adb s-direio.ads s-except.ads s-exctab.adb
9507         s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
9508         s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
9509         s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
9510         s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
9511         s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
9512         s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
9513         s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
9514         s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
9515         s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
9516         s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
9517         s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
9518         s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
9519         s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
9520         s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
9521         s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
9522         s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
9523         s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
9524         s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
9525         s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
9526         s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
9527         s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
9528         s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
9529         s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
9530         s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
9531         s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
9532         s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
9533         s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
9534         s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
9535         s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
9536         s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
9537         s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
9538         s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
9539         s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
9540         s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
9541         s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
9542         s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
9543         s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
9544         s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
9545         s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
9546         s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
9547         s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
9548         s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
9549         s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
9550         s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
9551         s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
9552         s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
9553         s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
9554         s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
9555         s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
9556         s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
9557         s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
9558         s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
9559         s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
9560         s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
9561         s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
9562         s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
9563         s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
9564         s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
9565         s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
9566         s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
9567         s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
9568         s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
9569         s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
9570         s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
9571         s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
9572         s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
9573         s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
9574         s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
9575         s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
9576         s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
9577         s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
9578         s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
9579         s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
9580         s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
9581         s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
9582         s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
9583         s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
9584         s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
9585         scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
9586         sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
9587         sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
9588         sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
9589         sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
9590         sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
9591         sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
9592         sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
9593         sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
9594         sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
9595         sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
9596         sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
9597         sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
9598         sem_type.adb sem_type.ads sem_util.adb sem_util.ads
9599         sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
9600         sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
9601         sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
9602         sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
9603         snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
9604         stringt.ads stringt.h style.adb style.ads stylesw.adb
9605         stylesw.ads switch.adb switch.ads sysdep.c system.ads
9606         table.adb table.ads targparm.adb targparm.ads targtyps.c
9607         tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
9608         tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
9609         treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
9610         types.adb types.ads types.h uintp.adb uintp.ads uintp.h
9611         uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
9612         usage.ads utils.c utils2.c validsw.adb validsw.ads
9613         widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
9614         xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
9615         xtreeprs.adb: Correct statements in comments about maintainership
9616         of GNAT.
9617
9618 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
9619
9620         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
9621         * Makefile.in (TOOLS_LIBS): Add ../../version.o.
9622         * gnatvsn.ads: Gnat_Version_String is now a function.
9623         * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
9624         copy the C version_string into a String and return it.
9625         * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
9626         gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
9627         Remove pragma Ident (Gnat_Version_String).  If this was the
9628         sole use of package Gnatvsn, remove the with statement too.
9629         * gnat1drv.adb: Tweak -gnatv output.
9630
9631 2002-09-17  Richard Henderson  <rth@redhat.com>
9632
9633         * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
9634         * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
9635         * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
9636         (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
9637         * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
9638         and real_2expN instead of a loop.
9639         * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
9640         (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
9641
9642 2002-08-25  Andre Leis <a.leis@gmx.net>
9643             David Billinghurst (David.Billinghurst@riotinto.com>
9644
9645         * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
9646
9647 2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9648
9649         * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
9650         Remove $(CONFIG_H) dependency.
9651
9652 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
9653
9654         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
9655
9656 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9657
9658         * adadecode.c (ada_demangle): Use xstrdup in lieu of
9659         xmalloc/strcpy.
9660         * misc.c (gnat_decode_option): Likewise.
9661
9662 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
9663
9664         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
9665         function approach did not work well because of a side effect (the
9666         function call could reallocate the table which was being indexed
9667         using its result). Fixes ada/4851. [RESURRECTED]
9668
9669 2002-07-01  Roger Sayle  <roger@eyesopen.com>
9670
9671         * ada/utils.c (builtin_function): Accept an additional parameter.
9672
9673 2002-06-28  Andreas Jaeger  <aj@suse.de>
9674
9675         PR ada/7144
9676         * Makefile.in: Fix typo in comment, patch by Adrian Knoth
9677         <adi@thur.de>.
9678
9679 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9680
9681         * Makefile.in (SHELL): Set to @SHELL@.
9682
9683 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9684
9685         * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
9686         array size calculation.
9687
9688 2002-06-04  Andreas Jaeger  <aj@suse.de>
9689
9690         * Make-lang.in (gnatbind): Readd rule that has been lost in last
9691         patch.
9692
9693 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
9694
9695         Merge from pch-branch:
9696
9697         * config-lang.in (gtfiles): Add ada-tree.h.
9698         * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
9699         (SET_TYPE_MODULUS): New.
9700         (SET_TYPE_INDEX): New.
9701         (SET_TYPE_DIGITS_VALUE): New.
9702         (SET_TYPE_RM_SIZE): New.
9703         (SET_TYPE_UNCONSTRAINED_ARRAY): New.
9704         (SET_TYPE_ADA_SIZE): New.
9705         (SET_TYPE_ACTUAL_BOUNDS): New.
9706         (SET_DECL_CONST_CORRESPONDING_VAR): New.
9707         (SET_DECL_ORIGINAL_FIELD): New.
9708         (TREE_LOOP_ID): Correct typo.
9709         * decl.c: Use new macros.
9710         * utils.c: Include debug.h, use new macros.
9711         * utils2.c: Use new macros.
9712
9713         * ada-tree.h: Update all macros for new tree description.
9714         (struct tree_loop_id): New.
9715         (union lang_tree_node): New.
9716         (struct lang_decl): New.
9717         (struct lang_type): New.
9718         * misc.c (gnat_mark_tree): Delete.
9719         (LANG_HOOKS_MARK_TREE): Delete.
9720         * trans.c (tree_transform): No longer any need to cast
9721         for TREE_LOOP_ID.
9722
9723         * utils.c (struct language_function): New dummy structure.
9724
9725         * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
9726         (misc.o): Likewise.
9727         (utils.o): Likewise; also gtype-ada.h.
9728         * Make-lang.in (gnat1): Add dependency on s-gtype.
9729         (gnatbind): Add dependency on $(CONFIG_H).
9730         * utils.c: Correct last #include.
9731         (stuct e_stack): Remove unnecessary 'static'.
9732         (mark_e_stack): Remove unused prototype.
9733
9734         * scn-nlit.adb: Remove whitespace after version number to
9735         keep lines under 80 chars.
9736         * snames.adb: Likewise.
9737         * treepr.ads: Likewise.
9738
9739         * Makefile.in (decl.o): Include gt-ada-<filename>.h.
9740         (misc.o): Likewise.
9741         (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
9742         * config-lang.in (gtfiles): New.
9743         * decl.c: Use gengtype for roots.
9744         * gigi.h: Use gengtype for roots.
9745         * trans.c: Use gengtype for roots.
9746         * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
9747
9748 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
9749
9750         * misc.c (gnat_init): Adjust setting of internal_error_function.
9751
9752 2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
9753
9754         * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
9755         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
9756         gnat_ug_wnt.texi: Regenerate.
9757
9758 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
9759
9760         * 5ntaprop.adb (with System.OS_Primitives): Remove.
9761
9762         * cstreams.c (max_path_len): Move from here ...
9763         * adaint.c (__gnat_max_path_len): ... to here.
9764         * adaint.c (__gnat_max_path_len): Declare.
9765         * g-dirope.adb (Max_Path): Adjust.
9766         * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
9767         * i-cstrea.ads (max_path_len): Adjust.
9768         * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
9769         * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
9770
9771         * Makefile.in, Make-lang.in: Documentation is now built in
9772         Make-lang.in.  Store Info and generated Texinfo files in the
9773         source directory.
9774         * gnat_ug.texi: Remove CVS keywords, correct version number.
9775         Set file name correctly.
9776
9777         * gnat_ug_*.texi: Add.
9778         * .cvsignore: Ignore generated Texinfo files.
9779
9780 2002-05-30  Zack Weinberg  <zack@codesourcery.com>
9781
9782         * ada.h: Add MI guard macro.
9783         (SUBTYPE): Define constants with an anonymous enum, not static
9784         const variables.
9785         (IN): Cast constants to appropriate type before use.
9786
9787 2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
9788
9789         * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
9790         (experimental)".
9791
9792 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9793
9794         * Make-lang.in (CP, ECHO): Copy from Makefile.in.
9795         (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
9796         (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
9797         (ALL_ADA_CFLAGS): Likewise.
9798         (ADA_INCLUDES): Likewise.
9799         Adapt for new working dir.
9800         (GNATBIND): Use Makefile.in version.
9801         (.SUFFIXES): Copy from Makefile.in.
9802         (ada-warn): Define.
9803         (.adb.o, .ads.o): Copy from Makefile.in.
9804         Added $(OUTPUT_OPTION).
9805         (GNAT1_C_OBJS): Moved from Makefile.in.
9806         Prefix with ada subdir.
9807         (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
9808         (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
9809         Adapt for new working dir.
9810         (EXTRA_GNATBIND_OBJS): Likewise.
9811         (ADA_BACKEND): Moved from Makefile.in.
9812         Renamed to avoid conflict with global BACKEND.
9813         Use that one.
9814         (TARGET_ADA_SRCS): Moved from Makefile.in.
9815         (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
9816         Use ADA_BACKEND.
9817         (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
9818         (ada_extra_files): Moved from Makefile.in.
9819         Prefix with ada subdir.
9820         (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
9821         (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
9822         (ada/nmake.ads): Likewise.
9823         (update-sources): Moved from Makefile.in.
9824         Prefix with ada subdir.
9825         (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
9826         (ADA_TREE_H): Likewise.
9827         (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
9828         (ada/memtrack.o): Likewise.
9829         (ada/adadecode.o): Likewise.
9830         Update dependencies.
9831         (ada/adaint.o): New.
9832         (ada/argv.o): Moved from Makefile.in.
9833         Prefix with ada subdir.
9834         Update dependencies.
9835         (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
9836         (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
9837         (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
9838         Prefix with ada subdir.
9839         (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
9840         (GNAT DEPENDENCIES): Regenerate.
9841         * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
9842         toplevel Makefile.in.
9843         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
9844         (TARGET_ADA_SRCS): Removed.
9845         (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
9846         (GNATBIND_OBJS): Likewise.
9847         (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
9848         (BACKEND): Removed.
9849         (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
9850         (TREE_H): Likewise.
9851         (ada_extra_files): Likewise.
9852         (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
9853         (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
9854         (update-sources): Likewise.
9855         (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
9856         (ADA_TREE_H): Likewise.
9857         (adadecoce.o): Likewise.
9858         (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
9859         (GNAT DEPENDENCIES): Likewise.
9860
9861 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9862
9863         * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
9864         * Makefile.in: Likewise.
9865
9866 2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9867
9868         * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
9869         Restore $(CONFIG_H) and prefix.o dependencies.
9870         (ada.stage[1-4]): Depend on stage?-start.
9871
9872         * Makefile.in (b_gnatb.c): Depend on interfac.o.
9873
9874 2002-05-02  Jim Wilson  <wilson@redhat.com>
9875
9876         * utils.c (finish_record_type): Change record_size to record_type.
9877
9878 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9879
9880         * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
9881         (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
9882         ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
9883
9884 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
9885
9886         * misc.c (gnat_parse_file): Update.
9887
9888 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
9889
9890         * misc.c (gnat_init): Don't set lang_attribute_common.
9891
9892 2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
9893
9894         * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
9895
9896 2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
9897
9898         * gnat_ug.texi: New file.
9899
9900         * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
9901         instead of gfdl.texi
9902
9903         * xgnatug.adb, ug_words: New files.
9904
9905         * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
9906         gnat_rm and gnat-style manuals.
9907
9908 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
9909
9910         * gigi.h (incomplete_type_error): Remove.
9911         * utils.c (incomplete_type_error): Remove.
9912
9913 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
9914
9915         * trans.c (tree_transform): Add has_scope argument to
9916         expand_start_stmt_expr.
9917
9918 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9919
9920         * gigi.h (truthvalue_conversion): Rename.
9921         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
9922         * trans.c (tree_transform): Update.
9923         * utils2.c (truthvalue_conversion): Rename, update.
9924         (build_binary_op, build_unary_op): Update.
9925
9926 2002-04-04  Laurent Guerby  <guerby@acm.org>
9927
9928         * make.adb: Implement -margs, remove restriction about file name placement.
9929         * makeusg.adb: Documentation update.
9930         * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
9931         * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
9932
9933 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9934
9935         * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
9936         (builtin_function): Similarly.
9937
9938 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
9939
9940         * decl.c (gnat_to_gnu_entity): Update.
9941         * gigi.h (mark_addressable): Rename.
9942         * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
9943         * trans.c (tree_transform): Update.
9944         * utils.c (create_var_decl): Update.
9945         * util2.c (build_binary_op, build_unary_op,
9946         fill_vms_descriptor): Update.
9947         (mark_addressable): Rename, update.
9948
9949 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
9950
9951         * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
9952         Rename.
9953         * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
9954         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
9955         * trans.c (tree_transform, convert_with_check): Update.
9956         * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
9957         Rename.
9958
9959 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
9960
9961         * gigi.h (finish_incomplete_decl): Rename.
9962         * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
9963         * utils.c (gnat_init_decl_processing): Don't set hook.
9964         (finish_incomplete_decl): Rename.
9965
9966 2002-03-29  Andreas Schwab  <schwab@suse.de>
9967
9968         * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
9969         directory.
9970
9971 2001-03-28  Robert Dewar <dewar@gnat.com>
9972
9973         * checks.ads:
9974         (Remove_Checks): New procedure
9975
9976         * checks.adb:
9977         (Remove_Checks): New procedure
9978
9979         * exp_util.adb:
9980         Use new Duplicate_Subexpr functions
9981         (Duplicate_Subexpr_No_Checks): New procedure
9982         (Duplicate_Subexpr_No_Checks_Orig): New procedure
9983         (Duplicate_Subexpr): Restore original form (checks duplicated)
9984         (Duplicate_Subexpr): Call Remove_Checks
9985
9986         * exp_util.ads:
9987         (Duplicate_Subexpr_No_Checks): New procedure
9988         (Duplicate_Subexpr_No_Checks_Orig): New procedure
9989         Add 2002 to copyright notice
9990
9991         * sem_util.adb: Use new Duplicate_Subexpr functions
9992
9993         * sem_eval.adb:
9994         (Eval_Indexed_Component): This is the place to call
9995         Constant_Array_Ref and to replace the value. We simply merge
9996         the code of this function in here, since it is now no longer
9997         used elsewhere. This fixes the problem of the back end not
9998         realizing we were clever enough to see that this was
9999         constant.
10000         (Expr_Val): Remove call to Constant_Array_Ref
10001         (Expr_Rep_Val): Remove call to Constant_Array_Ref
10002         Minor reformatting
10003         (Constant_Array_Ref): Deal with string literals (patch
10004         suggested by Zack Weinberg on the gcc list)
10005
10006 2001-03-28  Ed Schonberg <schonber@gnat.com>
10007
10008         * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
10009         Duplicate_Subexpr_Move_Checks.
10010
10011         * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
10012         Duplicate_Subexpr_Move_Checks.
10013
10014         * sem_eval.adb: (Constant_Array_Ref): Verify that constant
10015         value of array exists before retrieving it (it may a private
10016         protected component in a function).
10017
10018 2002-03-28   Geert Bosch <bosch@gnat.com>
10019
10020         * prj-pp.adb : New file.
10021
10022         * prj-pp.ads : New file.
10023
10024 2002-03-28  Andreas Jaeger  <aj@suse.de>
10025
10026         * Makefile.in (stamp-sdefault): Fix path for Makefile.
10027
10028 2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10029
10030         * misc.c (gnat_expand_expr): Move prototype.
10031
10032 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10033
10034         * misc.c (insert_default_attributes): Remove.
10035
10036 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10037
10038         * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
10039         (gnat_init): Don't set hook.
10040         (gnat_expand_expr): Fix prototype.
10041
10042 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10043
10044         * misc.c (ggc_p): Remove.
10045
10046 2002-03-27  Geert Bosch  <bosch@gnat.com>
10047
10048         * prj-makr.ads, prj-makr.adb : New files.
10049
10050 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10051
10052         * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
10053         (lang_mark_tree): Make static, rename.
10054
10055 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10056
10057         * misc.c (maybe_build_cleanup): Remove.
10058
10059 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
10060
10061         * gigi.h (yyparse): Remove.
10062
10063 2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
10064
10065         * gnat_rm.texi: Sync with ACT version.
10066           (From Ben Brosgol <brosgol@gnat.com>)
10067
10068 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10069
10070         * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
10071         (gnat_init): Remove old hook.
10072
10073 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10074
10075         * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
10076         (yyparse): Rename gnat_parse_file.
10077
10078 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
10079
10080         Delete all lines containing "$Revision:".
10081         * xeinfo.adb: Don't look for revision numbers.
10082         * xnmake.adb: Likewise.
10083         * xsinfo.adb: Likewise.
10084         * xsnames.adb: Likewise.
10085         * xtreeprs.adb: Likewise.
10086
10087 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10088
10089         * misc.c (gnat_tree_code_type, gnat_tree_code_length,
10090         gnat_tree_code_name): Delete.
10091         (tree_code_type, tree_code_length, tree_code_name): Define.
10092         (gnat_init): Don't try to copy into the various tree_code
10093         arrays.
10094
10095 2002-03-11  Richard Henderson  <rth@redhat.com>
10096
10097         * Makefile.in (.NOTPARALLEL): Add fake tag.
10098
10099 2002-03-07  Geert Bosch  <bosch@gnat.com>
10100
10101         * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
10102         s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
10103         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
10104         switch-m.adb, switch-m.ads : New files.
10105
10106 2002-03-07  Geert Bosch  <bosch@gnat.com>
10107
10108         * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
10109         4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
10110         4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
10111         4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
10112         5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
10113         5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
10114         5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
10115         5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
10116         5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
10117         5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
10118         5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
10119         5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
10120         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
10121         5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
10122         5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
10123         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
10124         5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
10125         5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
10126         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
10127         5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
10128         7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
10129         Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
10130         a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
10131         a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
10132         a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
10133         a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
10134         a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
10135         a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
10136         a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
10137         adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
10138         atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
10139         bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
10140         csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
10141         einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
10142         eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
10143         exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
10144         exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
10145         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
10146         exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
10147         exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
10148         expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
10149         freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
10150         g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
10151         g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
10152         g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
10153         g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
10154         g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
10155         g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
10156         gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
10157         gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
10158         gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
10159         i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
10160         impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
10161         lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
10162         lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
10163         memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
10164         mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
10165         nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
10166         output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
10167         par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
10168         prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
10169         prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
10170         prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
10171         rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
10172         s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
10173         s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
10174         s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
10175         s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
10176         s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
10177         s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
10178         s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
10179         s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
10180         s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
10181         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
10182         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
10183         s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
10184         s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
10185         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
10186         s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
10187         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
10188         sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
10189         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
10190         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
10191         sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
10192         sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
10193         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
10194         sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
10195         sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
10196         sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
10197         snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
10198         stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
10199         table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
10200         tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
10201         treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
10202         types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
10203         utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
10204         xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
10205
10206         * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
10207         g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
10208         mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
10209         osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
10210
10211         * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
10212         5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
10213
10214         * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
10215         to mdll-fil.ad[bs] and mdll-util.ad[bs]
10216
10217         * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
10218         from mdllfile.ad[bs] and mdlltool.ad[bs]
10219
10220 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10221
10222         * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
10223         lieu of explicit sizeof/sizeof.
10224
10225 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10226
10227         * misc.c (copy_lang_decl): Remove.
10228
10229 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
10230
10231         * misc.c: Delete traditional-mode-related code copied from the
10232         C front end but not used, or used only to permit the compiler
10233         to link.
10234
10235 2002-02-07  Richard Henderson  <rth@redhat.com>
10236
10237         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
10238         * adaint.h (__gnat_to_gm_time): Update prototype.
10239
10240 2002-01-30  Richard Henderson  <rth@redhat.com>
10241
10242         * trans.c (tree_transform) [N_Loop_Statement]: Use
10243         expand_exit_loop_top_cond.
10244
10245 2001-12-23  Richard Henderson  <rth@redhat.com>
10246
10247         * utils.c (end_subprog_body): Push GC context around
10248         rest_of_compilation for nested functions.
10249
10250 2001-12-23  Richard Henderson  <rth@redhat.com>
10251
10252         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
10253
10254 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
10255
10256         * gnat-style.texi (Declarations and Types): Remove ancient style
10257         rule which was mandated by code generation issues.
10258
10259         * gnat-style.texi (header): Add @dircategory, @direntry.
10260         (title page): Remove date.
10261         (general) Add @./@: where approriate, and two spaces after the
10262         full stop at the end of a sentence.  Use @samp markup when
10263         referring concrete lexical entities (keywords, attribute names
10264         etc.), and @syntax for ARM grammar elements. Use @r for English
10265         text in comments.  Use @emph for emphasis.  Change "if-statements"
10266         etc. to "if statements" (without @samp). Break long lines.  Make
10267         casing of section names consistent.
10268         (Identifiers): Use @samp markup for variable names.
10269         (Comments): Use @samp markup for comment characters. Line-end
10270         comments may follow any Ada code, not just statements.  Fix
10271         misspelling of "Integer" as "integer".
10272         (Loop statements): Do not use variable name "I", use "J".
10273         (Subprogram Declarations): Document alignment.
10274         (Subprogram Bodies, Block statements): Document empty line before
10275         "begin".
10276
10277 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
10278
10279         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
10280         function approach did not work well because of a side effect (the
10281         function call could reallocate the table which was being indexed
10282         using its result). Fixes ada/4851.
10283
10284 2001-12-19  Robert Dewar <dewar@gnat.com>
10285
10286         * bindgen.adb: Minor reformatting
10287
10288         * cstand.adb: Minor reformatting
10289
10290         * fmap.adb: Minor reformatting
10291         Change name from Add for Add_To_File_Map (Add is much too generic)
10292         Change Path_Name_Of to Mapped_Path_Name
10293         Change File_Name_Of to Mapped_File_Name
10294         Fix copyright dates in header
10295
10296         * fmap.ads:
10297         Change name from Add for Add_To_File_Map (Add is much too generic)
10298         Change Path_Name_Of to Mapped_Path_Name
10299         Change File_Name_Of to Mapped_File_Name
10300         Fix copyright dates in header
10301
10302         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
10303         Add use clause for Fmap.
10304
10305         * make.adb: Minor reformatting
10306
10307         * osint.adb: Minor reformatting.  Change of names in Fmap.
10308         Add use clause for Fmap.
10309
10310         * prj-env.adb: Minor reformatting
10311
10312         * prj-env.ads: Minor reformatting
10313
10314         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
10315         error found (there were odd exceptions to this general rule in
10316         -gnatec/-gnatem processing)
10317
10318 2001-12-19  Olivier Hainque <hainque@gnat.com>
10319
10320         * raise.c (__gnat_eh_personality): Exception handling personality
10321         routine for Ada.  Still in rough state, inspired from the C++ version
10322         and still containing a bunch of debugging artifacts.
10323         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
10324         inspired from the C++ library.
10325
10326         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
10327         exception handling integration.
10328
10329 2001-12-19  Arnaud Charlet <charlet@gnat.com>
10330
10331         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
10332         (HIE_SOURCES): Add s-secsta.ad{s,b}.
10333         (HIE_OBJS): Add s-fat*.o
10334         (RAVEN_SOURCES): Remove files that are no longer required. Add
10335         interrupt handling files.
10336         (RAVEN_MOD): Removed, no longer needed.
10337
10338 2001-12-19  Robert Dewar <dewar@gnat.com>
10339
10340         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
10341         Add 2001 to copyright date
10342
10343         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
10344         need to force universal inlining for these cases.
10345
10346 2001-12-19  Arnaud Charlet <charlet@gnat.com>
10347
10348         * s-taprob.adb: Minor clean ups so that this unit can be used in
10349         Ravenscar HI.
10350
10351         * exp_ch7.adb: Allow use of secondary stack in HI mode.
10352         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
10353
10354 2001-12-19  Vincent Celier <celier@gnat.com>
10355
10356         * prj-tree.ads (Project_Node_Record): Add comments for components
10357         Pkg_Id and Case_Insensitive.
10358
10359 2001-12-19  Pascal Obry <obry@gnat.com>
10360
10361         * g-socket.adb: Minor reformatting. Found while reading code.
10362
10363 2001-12-19  Robert Dewar <dewar@gnat.com>
10364
10365         * prj-tree.ads: Minor reformatting
10366
10367 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
10368
10369         * config-lang.in (diff_excludes): Remove.
10370
10371 2001-12-17  Ed Schonberg <schonber@gnat.com>
10372
10373         * sem_res.adb (Resolve_Selected_Component): do not generate a
10374         discriminant check if the selected component is a component of
10375         the argument of an initialization procedure.
10376
10377         * trans.c (tree_transform, case of arithmetic operators): If result
10378         type is private, the gnu_type is the base type of the full view,
10379         given that the full view itself may be a subtype.
10380
10381 2001-12-17  Robert Dewar <dewar@gnat.com>
10382
10383         * sem_res.adb: Minor reformatting
10384
10385         * trans.c (tree_transform, case N_Real_Literal): Add missing third
10386         parameter in call to Machine (unknown horrible effects from this
10387         omission).
10388
10389         * urealp.h: Add definition of Round_Even for call to Machine
10390         Add third parameter for Machine
10391
10392 2001-12-17  Ed Schonberg <schonber@gnat.com>
10393
10394         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
10395         predefined units in No_Run_Time mode.
10396
10397 2001-12-17  Richard Kenner <kenner@gnat.com>
10398
10399         * misc.c (insn-codes.h): Now include.
10400
10401 2001-12-17  Olivier Hainque <hainque@gnat.com>
10402
10403         * a-except.adb: Preparation work for future integration of the GCC 3
10404         exception handling mechanism
10405         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
10406         to factorize previous code sequences and make them externally callable,
10407         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
10408         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
10409         Use the new notification routines.
10410
10411 2001-12-17  Emmanuel Briot <briot@gnat.com>
10412
10413         * prj-tree.ads (First_Choice_Of): Document the when others case
10414
10415 2001-12-17  Arnaud Charlet <charlet@gnat.com>
10416
10417         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
10418         HI-E mode, in order to support Ravenscar profile properly.
10419
10420         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
10421         mode on 32 bits targets.
10422
10423 2001-12-17  Vincent Celier <celier@gnat.com>
10424
10425         * fmap.adb: Initial version.
10426
10427         * fmap.ads: Initial version.
10428
10429         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
10430         If search is successfully done, add to mapping.
10431
10432         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
10433
10434         * make.adb:
10435         (Gnatmake): Add new local variable Mapping_File_Name.
10436          Create mapping file when using project file(s).
10437          Delete mapping file before exiting.
10438
10439         * opt.ads (Mapping_File_Name): New variable
10440
10441         * osint.adb (Find_File): Use path name found in mapping, if any.
10442
10443         * prj-env.adb (Create_Mapping_File): New procedure
10444
10445         * prj-env.ads (Create_Mapping_File): New procedure.
10446
10447         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
10448         (Mapping_File)
10449
10450         * usage.adb: Add entry for new switch -gnatem.
10451
10452         * Makefile.in: Add dependencies for fmap.o.
10453
10454 2001-12-17  Ed Schonberg <schonber@gnat.com>
10455
10456         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
10457         is a package instantiation rewritten as a package body.
10458         (Install_Withed_Unit): Undo previous change, now redundant.
10459
10460 2001-12-17  Gary Dismukes <dismukes@gnat.com>
10461
10462         * layout.adb:
10463         (Compute_Length): Move conversion to Unsigned to callers.
10464         (Get_Max_Size): Convert Len expression to Unsigned after calls to
10465         Compute_Length and Determine_Range.
10466         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
10467         Compute_Length and Determine_Range.
10468         Above changes fix problem with length computation for supernull arrays
10469         where Max (Len, 0) wasn't getting applied due to the Unsigned
10470         conversion used by Compute_Length.
10471
10472 2001-12-17  Arnaud Charlet <charlet@gnat.com>
10473
10474         * rtsfind.ads:
10475         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
10476          System.Secondary_Stack.
10477         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
10478          in HI-E mode.
10479         Remove unused entity RE_Exception_Data.
10480
10481         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
10482
10483         * rident.ads (No_Secondary_Stack): New restriction.
10484
10485 2001-12-17  Joel Brobecker <brobecke@gnat.com>
10486
10487         * gnat_rm.texi: Fix minor typos. Found while reading the section
10488         regarding "Bit_Order Clauses" that was sent to a customer.
10489         Very interesting documentation!
10490
10491 2001-12-17  Robert Dewar <dewar@gnat.com>
10492
10493         * sem_case.adb (Choice_Image): Avoid creating improper character
10494         literal names by using the routine Set_Character_Literal_Name. This
10495         fixes bombs in certain error message cases.
10496
10497 2001-12-17  Arnaud Charlet <charlet@gnat.com>
10498
10499         * a-reatim.adb: Minor reformatting.
10500
10501 2001-12-17  Ed Schonberg <schonber@gnat.com>
10502
10503         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
10504         case where the formal is an extension of another formal in the current
10505         unit or in a parent generic unit.
10506
10507 2001-12-17  Arnaud Charlet <charlet@gnat.com>
10508
10509         * s-tposen.adb: Update comments.  Minor reformatting.
10510         Minor code clean up.
10511
10512         * s-tarest.adb: Update comments.  Minor code reorganization.
10513
10514 2001-12-17  Gary Dismukes <dismukes@gnat.com>
10515
10516         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
10517         when Java_VM.
10518
10519 2001-12-17  Robert Dewar <dewar@gnat.com>
10520
10521         * exp_attr.adb: Minor reformatting
10522
10523 2001-12-17  Ed Schonberg <schonber@gnat.com>
10524
10525         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
10526         derivations nested within a child unit: verify that the parent
10527         type is declared in an outer scope.
10528
10529 2001-12-17  Robert Dewar <dewar@gnat.com>
10530
10531         * sem_ch12.adb: Minor reformatting
10532
10533 2001-12-17  Ed Schonberg <schonber@gnat.com>
10534
10535         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
10536         warning if current unit is a predefined one, from which bodies may
10537         have been deleted.
10538
10539 2001-12-17  Robert Dewar <dewar@gnat.com>
10540
10541         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
10542         Fix header format. Add 2001 to copyright date.
10543
10544         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
10545         which caused CE during compilation if checks were enabled.
10546
10547 2001-12-17  Vincent Celier <celier@gnat.com>
10548
10549         * make.adb:
10550         (Switches_Of): New function
10551         (Test_If_Relative_Path): New procedure
10552         (Add_Switches): Use new function Switches_Of
10553         (Collect_Arguments_And_Compile): Use new function Switches_Of.
10554         When using a project file, test if there are any relative
10555         search path. Fail if there are any.
10556         (Gnatmake): Only add switches for the primary directory when not using
10557         a project file. When using a project file, change directory to the
10558         object directory of the main project file. When using a project file,
10559         test if there are any relative search path. Fail if there are any.
10560         When using a project file, fail if specified executable is relative
10561         path with directory information, and prepend executable, if not
10562         specified as an absolute path, with the exec directory.  Make sure
10563         that only one -o switch is transmitted to the linker.
10564
10565         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
10566
10567         * prj-nmsc.adb:
10568         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
10569         when using a non standard naming scheme.
10570         (Check_Ada_Naming_Scheme): Make sure that error messages
10571         do not raise exceptions.
10572         (Is_Illegal_Append): Return True if there is no dot in the suffix.
10573         (Language_Independent_Check): Check the exec directory.
10574
10575         * prj.adb (Project_Empty): Add new component Exec_Directory
10576
10577         * prj.ads:
10578         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
10579         (Project_Data): Add component Exec_Directory
10580
10581         * snames.adb: Updated to match snames.ads revision 1.215
10582
10583         * snames.ads: Added Exec_Dir
10584
10585 2001-12-17  Robert Dewar <dewar@gnat.com>
10586
10587         * make.adb: Minor reformatting
10588
10589         * prj-nmsc.adb: Minor reformatting
10590
10591         * snames.adb: Updated to match snames.ads
10592
10593         * snames.ads: Alphebetize entries for project file
10594
10595 2001-12-17  Ed Schonberg <schonber@gnat.com>
10596
10597         * trans.c (process_freeze_entity): Do nothing if the entity is a
10598         subprogram that was already elaborated.
10599
10600 2001-12-17  Richard Kenner <kenner@gnat.com>
10601
10602         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
10603         and Esize if object is referenced via pointer.
10604
10605 2001-12-17  Ed Schonberg <schonber@gnat.com>
10606
10607         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
10608         is discrete before analyzing choices.
10609
10610 2001-12-17  Joel Brobecker <brobecke@gnat.com>
10611
10612         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
10613         containing the name of the Ada Main Program. This string is mainly
10614         intended for the debugger.
10615         (Gen_Output_File_C): Do the equivalent change when generating a C file.
10616
10617 2001-12-17  Robert Dewar <dewar@gnat.com>
10618
10619         * ali.adb: Set new Dummy_Entry field in dependency entry
10620
10621         * ali.ads: Add Dummy_Entry field to source dependency table
10622
10623         * bcheck.adb (Check_Consistency): Ignore dummy D lines
10624
10625         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
10626
10627         * lib-writ.ads: Document dummy D lines for missing files.
10628
10629         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
10630
10631 2001-12-17  Robert Dewar <dewar@gnat.com>
10632
10633         * ali.adb: Type reference does not reset current file.
10634
10635         * ali.adb: Recognize and scan renaming reference
10636
10637         * ali.ads: Add spec for storing renaming references.
10638
10639         * lib-xref.ads: Add documentation for handling of renaming references
10640
10641         * lib-xref.adb: Implement output of renaming reference.
10642
10643         * checks.adb:
10644         (Determine_Range): Document local variables
10645         (Determine_Range): Make sure Hbound is initialized. It looks as though
10646          there could be a real problem here with an uninitialized reference
10647          to Hbound, but no actual example of failure has been found.
10648
10649 2001-12-17  Laurent Pautet <pautet@gnat.com>
10650
10651         * g-socket.ads:
10652         Fix comment of Shutdown_Socket and Close_Socket. These functions
10653         should not fail silently because if they are called twice, this
10654         probably means that there is a race condition in the user program.
10655         Anyway, this behaviour is consistent with the rest of this unit.
10656         When an error occurs, an exception is raised with the error message
10657         as exception message.
10658
10659 2001-12-17  Robert Dewar <dewar@gnat.com>
10660
10661         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
10662         that it happens before modification of Sloc values for -gnatD.
10663
10664         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
10665         so that it happens before modification of Sloc values for -gnatD.
10666
10667         * switch.adb: Minor reformatting
10668
10669 2001-12-15  Richard Henderson  <rth@redhat.com>
10670
10671         * sem_ch7.adb: Wrap comment.
10672
10673 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
10674
10675         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
10676         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
10677         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
10678         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
10679         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
10680         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
10681         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
10682         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
10683         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
10684         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
10685         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
10686         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
10687         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
10688         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
10689         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
10690         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
10691         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
10692         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
10693         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
10694         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
10695         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
10696         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
10697         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
10698         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
10699         spelling errors.
10700
10701 2001-12-14  Vincent Celier <celier@gnat.com>
10702
10703         * osint.adb(Create_Debug_File): When an object file is specified,
10704         put the .dg file in the same directory as the object file.
10705
10706 2001-12-14  Robert Dewar <dewar@gnat.com>
10707
10708         * osint.adb: Minor reformatting
10709
10710         * lib-xref.adb (Output_Instantiation): New procedure to generate
10711         instantiation references.
10712
10713         * lib-xref.ads: Add documentation of handling of generic references.
10714
10715         * ali.adb (Read_Instantiation_Ref): New procedure to read
10716         instantiation references
10717
10718         * ali.ads: Add spec for storing instantiation references
10719
10720         * bindusg.adb: Minor reformatting
10721
10722         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
10723
10724         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
10725
10726         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
10727
10728         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
10729
10730         * csets.ads:
10731         Fix header format
10732         Add 2001 to copyright date
10733         Add entry for Latin-5 (Cyrillic ISO-8859-5)
10734
10735 2001-12-14  Matt Gingell <gingell@gnat.com>
10736
10737         * adaint.c: mktemp is a macro on Lynx and can not be used as an
10738         expression.
10739
10740 2001-12-14  Richard Kenner <kenner@gnat.com>
10741
10742         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
10743         if operand is CONSTRUCTOR.
10744
10745 2001-12-14  Ed Schonberg <schonber@gnat.com>
10746
10747         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
10748         before emiting check on right-hand side, so that exception information
10749         is correct.
10750
10751 2001-12-14  Richard Kenner <kenner@gnat.com>
10752
10753         * utils.c (create_var_decl): Throw away initializing expression
10754         if just annotating types and non-constant.
10755
10756 2001-12-14  Vincent Celier <celier@gnat.com>
10757
10758         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
10759         Default_Ada_...
10760
10761         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
10762         Remove functions.
10763         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
10764
10765         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
10766         Remove functions.
10767         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
10768
10769 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
10770
10771         * ChangeLog: Remove piece of diff output.
10772
10773 2001-12-14  Geert Bosch <bosch@gnat.com>
10774
10775         * config-lang.in: Update copyright notice
10776
10777         * layout.adb: Remove commented out code.
10778
10779         * mdllfile.ads: Update copyright notice. Fix header format.
10780
10781         * sem_case.ads: Likewise.
10782
10783         * sem_ch3.adb: Minor reformatting.
10784
10785 2001-12-12  Geert Bosch <bosch@gnat.com>
10786
10787         * freeze.ads: Update copyright date.
10788
10789         * g-comlin.ads: Minor reformatting.
10790
10791         * gnat-style.texi: Fix typo.
10792
10793 2001-12-12  Geert Bosch <bosch@gnat.com>
10794
10795         *  einfo.h: Regenerate.
10796
10797 2001-12-12  Ed Schonberg <schonber@gnat.com>
10798
10799         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
10800         on known node types, rather than untyped fields. Further cleanups.
10801
10802 2001-12-12  Robert Dewar <dewar@gnat.com>
10803
10804         * sem_ch12.adb:
10805         (Save_Entity_Descendant): Minor comment update.
10806         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
10807          of an N_Attribute_Reference node. As per note below, this does not
10808         eliminate need for Associated_Node in attribute ref nodes.
10809         (Associated_Node): Documentation explicitly mentions attribute
10810         reference nodes, since this field is used in such nodes.
10811
10812         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
10813
10814 2001-12-12  Robert Dewar <dewar@gnat.com>
10815
10816         * s-stalib.adb: Add more comments on with statements being needed
10817
10818         * par-ch12.adb: Minor reformatting
10819
10820         * prj-dect.ads: Fix copyright header
10821
10822         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
10823         inputs fit in 32 bits, but the result still overflows.
10824
10825         * s-fatgen.ads: Minor comment improvement
10826
10827 2001-12-12  Ed Schonberg <schonber@gnat.com>
10828
10829         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
10830         formal derived type, look for an inherited component from the full
10831         view of the parent, if any.
10832
10833 2001-12-12  Robert Dewar <dewar@gnat.com>
10834
10835         * checks.ads (Apply_Alignment_Check): New procedure.
10836
10837         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
10838         ensure that the alignment of objects with address clauses is
10839         appropriate, and raise PE if not.
10840
10841         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
10842         Exp_Pakd.Known_Aligned_Enough
10843
10844         * mdllfile.ads: Minor reformatting
10845
10846         * mlib-fil.ads: Minor reformatting
10847
10848 2001-12-12  Ed Schonberg <schonber@gnat.com>
10849
10850         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
10851         fix to any component reference if enclosing record has non-standard
10852         representation.
10853
10854 2001-12-12  Vincent Celier <celier@gnat.com>
10855
10856         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
10857         Iteration
10858
10859 2001-12-12  Ed Schonberg <schonber@gnat.com>
10860
10861         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
10862         sem_attr.
10863
10864 2001-12-12  Robert Dewar <dewar@gnat.com>
10865
10866         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
10867
10868 2001-12-12  Emmanuel Briot <briot@gnat.com>
10869
10870         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
10871         and it adds dependencies to system.io.
10872
10873 2001-12-12  Pascal Obry <obry@gnat.com>
10874
10875         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
10876         variable name.
10877
10878 2001-12-11  Ed Schonberg <schonber@gnat.com>
10879
10880         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
10881         that is the parent of other generics, the instance body replaces the
10882         instance node.  Retrieve the instance of the spec, which is the one
10883         that is visible in clients and within the body.
10884
10885 2001-12-11  Vincent Celier <celier@gnat.com>
10886
10887         * gnatmain.adb: Initial version.
10888
10889         * gnatmain.ads: Initial version.
10890
10891         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
10892
10893         * snames.adb: Updated to match snames.ads.
10894
10895         * snames.ads: Added Gnatstub.
10896
10897 2001-12-11  Vincent Celier <celier@gnat.com>
10898
10899         * prj-attr.adb (Initialization_Data): Change name from
10900         Initialisation_Data.
10901
10902 2001-12-11  Emmanuel Briot <briot@gnat.com>
10903
10904         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
10905         + and * applied to backslashed expressions like \r.
10906
10907 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
10908
10909         * g-os_lib.ads: String_List type added, Argument_List type is now
10910         subtype of String_List.
10911
10912 2001-12-11  Robert Dewar <dewar@gnat.com>
10913
10914         * g-os_lib.ads: Change copyright to FSF
10915         Add comments for String_List type
10916
10917 2001-12-11  Vincent Celier <celier@gnat.com>
10918
10919         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
10920         string to the buffer).
10921
10922 2001-12-11  Ed Schonberg <schonber@gnat.com>
10923
10924         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
10925         sem_attr.
10926
10927         * sem_attr.adb: Simplify previous fix for Address.
10928         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
10929         to avoid anomalies where the bound of the type appears to raise
10930         constraint error.
10931
10932 2001-12-11  Robert Dewar <dewar@gnat.com>
10933
10934         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
10935         handled.
10936
10937 2001-12-11  Ed Schonberg <schonber@gnat.com>
10938
10939         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
10940         renamed unit before checking for recursive instantiations.
10941
10942 2001-12-11  Emmanuel Briot <briot@gnat.com>
10943
10944         * prj.ads: Add comments for some of the fields.
10945
10946 2001-12-11  Robert Dewar <dewar@gnat.com>
10947
10948         * lib-xref.adb (Output_Refs): Don't output type references outside
10949         the main unit if they are not otherwise referenced.
10950
10951 2001-12-11  Ed Schonberg <schonber@gnat.com>
10952
10953         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
10954         code and diagnose additional illegal uses
10955
10956         * sem_util.adb (Is_Object_Reference): An indexed component is an
10957         object only if the prefix is.
10958
10959 2001-12-11  Vincent Celier <celier@gnat.com>
10960
10961         * g-diopit.adb: Initial version.
10962
10963         * g-diopit.ads: Initial version.
10964
10965         * g-dirope.adb:
10966         (Expand_Path): Avoid use of Unbounded_String
10967         (Find, Wildcard_Iterator): Moved to child package Iteration
10968
10969         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
10970
10971 2001-12-11  Robert Dewar <dewar@gnat.com>
10972
10973         * sem_attr.adb: Minor reformatting
10974
10975 2001-12-11  Ed Schonberg <schonber@gnat.com>
10976
10977         * sem_ch3.adb: Clarify some ???.
10978
10979 2001-12-11  Robert Dewar <dewar@gnat.com>
10980
10981         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
10982         Exp_Pakd.Known_Aligned_Enough
10983
10984         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
10985         version is moved to Exp_Ch13.
10986
10987 2001-12-11  Robert Dewar <dewar@gnat.com>
10988
10989         * einfo.ads: Minor reformatting
10990
10991         * exp_ch5.adb: Add comment for previous.change
10992
10993         * ali.adb: New interface for extended typeref stuff.
10994
10995         * ali.ads: New interface for typeref stuff.
10996
10997         * checks.adb (Apply_Alignment_Check): New procedure.
10998
10999         * debug.adb: Add -gnatdM for modified ALI output
11000
11001         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
11002
11003         * lib-xref.adb: Extend generation of <..> notation to cover
11004         subtype/object types. Note that this is a complete rewrite,
11005         getting rid of the very nasty quadratic algorithm previously
11006         used for derived type output.
11007
11008         * lib-xref.ads: Extend description of <..> notation to cover
11009         subtype/object types. Uses {..} for these other cases.
11010         Also use (..) for pointer types.
11011
11012         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
11013
11014         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
11015         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
11016
11017 2001-12-11  Vincent Celier <celier@gnat.com>
11018
11019         * gnatcmd.adb:
11020         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
11021         Changed /BIND_ONLY to /ACTIONS=BIND
11022         Changed /LINK_ONLY to /ACTIONS=LINK
11023
11024 2001-12-11  Ed Schonberg  <schonber@gnat.com>
11025
11026         * sem_ch8.adb (Find_Selected_Component): improved search for a
11027         candidate package in case of error.
11028
11029         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
11030         chain back on scope stack before reinstalling use clauses.
11031
11032         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
11033         is enabled, do not kill the code for the condition, to preserve
11034         warning.
11035
11036 2001-12-11  Robert Dewar <dewar@gnat.com>
11037
11038         * checks.adb (Insert_Valid_Check): Apply validity check to expression
11039         of conversion, not to result of conversion.
11040
11041 2001-12-11  Ed Schonberg <schonber@gnat.com>
11042
11043         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
11044         before freezing parent. If the declarations are mutually recursive,
11045         an access to the current record type may be frozen before the
11046         derivation is complete.
11047
11048 2001-12-05  Vincent Celier <celier@gnat.com>
11049
11050         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
11051         -c /COMPILE_ONLY, -l /LINK_ONLY
11052
11053         * opt.ads:
11054         (Bind_Only): New Flag
11055         (Link_Only): New flag
11056
11057         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
11058         and -l (Link_Only)
11059
11060         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
11061
11062         * make.adb:
11063         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
11064         (Gnatmake): Set the step flags. Only perform a step if the
11065         corresponding step flag is True.
11066         (Scan_Make_Arg): Reset the bind and link step flags when -u
11067         or -gnatc has been specified.
11068
11069 2001-12-05  Ed Schonberg <schonber@gnat.com>
11070
11071         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
11072         get bounds from right operand.
11073
11074         * sem_eval.adb: Minor reformatting
11075
11076         * exp_util.adb (Make_Literal_Range): use bound of literal rather
11077         than Index'First, its lower bound may be different from 1.
11078
11079         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
11080         and C48009J
11081
11082 2001-12-05  Vincent Celier <celier@gnat.com>
11083
11084         * prj-nmsc.adb Minor reformatting
11085
11086         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
11087         set and libraries are not supported.
11088
11089 2001-12-05  Ed Schonberg <schonber@gnat.com>
11090
11091         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
11092         private view explicitly, so the back-end can treat as a global
11093         when appropriate.
11094
11095 2001-12-05  Ed Schonberg <schonber@gnat.com>
11096
11097         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
11098          unit, always replace instance node with new body, for ASIS use.
11099
11100 2001-12-05  Vincent Celier <celier@gnat.com>
11101
11102         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
11103         libraries are not supported and both attributes Library_Name and
11104         Library_Dir are specified.
11105
11106         * prj-proc.adb (Expression): Set location of Result to location of
11107         first term.
11108
11109         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
11110         (prj-nmsc is now importing MLib.Tgt)
11111
11112         * prj-proc.adb: Put the change indicated above that was forgotten.
11113
11114 2001-12-05  Robert Dewar <dewar@gnat.com>
11115
11116         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
11117
11118 2001-12-05  Ed Schonberg <schonber@gnat.com>
11119
11120         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
11121         constraint, introduce explicit subtype declaration and derive from it.
11122
11123         * sem_ch3.adb: Minor reformatting
11124
11125 2001-12-05  Robert Dewar <dewar@gnat.com>
11126
11127         * checks.adb (Determine_Range): Increase cache size for checks.
11128         Minor reformatting
11129
11130         * exp_ch6.adb: Minor reformatting
11131         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
11132         a parameter whose root type is System.Address, since treating such
11133         subprograms as pure in the code generator is almost surely a mistake
11134         that will lead to unexpected results.
11135
11136         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
11137         change handling of conversions.
11138
11139         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
11140
11141 2001-12-05  Ed Schonberg <schonber@gnat.com>
11142
11143         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
11144         aggregate with static wrong size, attach generated Raise node to
11145         declaration.
11146
11147 2001-12-05  Robert Dewar <dewar@gnat.com>
11148
11149         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
11150         Fixes compilation abandoned bomb in B24009B.
11151
11152 2001-12-05  Ed Schonberg <schonber@gnat.com>
11153
11154         * sem_ch12.adb:
11155         Document use of Associated_Node on Selected_Components.
11156         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
11157         to clarify use of untyped descendant fields.
11158
11159 2001-12-05  Robert Dewar <dewar@gnat.com>
11160
11161         * prj-dect.ads: Add ??? comment
11162         Add 2001 to copyright notice (was not done in after all)
11163
11164         * prj-part.adb: Minor reformatting. Reword one awkward error message.
11165
11166         * prj.ads: Minor reformatting throughout, and add some ??? comments
11167
11168         * snames.ads: Minor reformatting
11169
11170 2001-12-05  Geert Bosch <bosch@gnat.com>
11171
11172         * snames.adb: Autoupdate
11173
11174 2001-12-05  Vincent Celier <celier@gnat.com>
11175
11176         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
11177
11178         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
11179
11180         * prj-env.adb: Minor comment changes (modifying -> extends).
11181
11182         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
11183
11184         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
11185         Tok_Extends.
11186
11187         * prj.adb (Initialize): Change Modifying to Extends.
11188
11189         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
11190
11191         * prj.ads: Minor comment change (Modifying -> extending).
11192
11193         * snames.ads: Change modifying to extends.
11194
11195 2001-12-05  Robert Dewar <dewar@gnat.com>
11196
11197         * sem_warn.adb: Remove stuff for conditionals, we are not going to
11198         do this after all.
11199
11200         * sem_warn.ads: Remove stuff for conditionals, we are not going to
11201         do this after all.  Add 2001 to copyright notice
11202
11203 2001-12-04  Geert Bosch <bosch@gnat.com>
11204
11205         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
11206
11207 2001-12-04  Robert Dewar <dewar@gnat.com>
11208
11209         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
11210         location if we already have errors. Stops some cases of cascaded
11211         errors.
11212
11213         * errout.adb: Improve comment.
11214
11215 2001-12-04  Robert Dewar <dewar@gnat.com>
11216
11217         * sem_ch12.adb:
11218         (Analyze_Formal_Type_Definition): Defend against Error.
11219         (Analyze_Formal_Subprogram): Defend against Error.
11220
11221         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
11222         remove following semicolon if present. Removes cascaded error.
11223
11224 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
11225
11226         * bindgen.adb:
11227         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
11228          exceptions equals 0.
11229         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
11230         Fixes PIWG E tests (which have to be run with -gnatL).
11231
11232 2001-12-04  Robert Dewar <dewar@gnat.com>
11233
11234         * einfo.ads: Minor reformatting
11235
11236 2001-12-04  Ed Schonberg <schonber@gnat.com>
11237
11238         * einfo.ads: Block_Node points to the identifier of the block, not to
11239         the block node itself, to preserve the link when the block is
11240         rewritten, e.g. within an if-statement with a static condition.
11241
11242         * inline.adb (Cleanup_Scopes): recover block statement from block
11243         entity using new meaning of Block_Node.
11244
11245         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
11246         identifier of block node, rather than to node itself.
11247
11248 2001-12-04  Gary Dismukes <dismukes@gnat.com>
11249
11250         * layout.adb:
11251         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
11252         (Discrimify): Go back to setting the Etypes of the selected component
11253         because the Vname component does not exist at this point and will
11254         fail name resolution. Also set Analyzed.
11255         Remove with and use of Sem_Res.
11256
11257 2001-12-04  Arnaud Charlet <charlet@gnat.com>
11258
11259         * Makefile.in: (HIE_SOURCES): add s-fat*.
11260
11261 2001-12-04  Robert Dewar <dewar@gnat.com>
11262
11263         * sem_attr.adb:
11264         (Compile_Time_Known_Attribute): New procedure.
11265         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
11266          proper range check.
11267
11268 2001-12-04  Ed Schonberg <schonber@gnat.com>
11269
11270         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
11271         processing discriminants to diagnose illegal default values.
11272
11273 2001-12-04  Ed Schonberg <schonber@gnat.com>
11274
11275         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
11276         access discriminant within a type extension that constrains its
11277         parent discriminants.
11278
11279 2001-12-04  Ed Schonberg <schonber@gnat.com>
11280
11281         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
11282         is malformed, use instance of Any_Id to allow analysis to proceed.
11283
11284         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
11285         type definition is illegal.
11286         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
11287         misplaced.
11288
11289 2001-12-04  Ed Schonberg <schonber@gnat.com>
11290
11291         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
11292         constants.
11293
11294 2001-12-04  Robert Dewar <dewar@gnat.com>
11295
11296         * errout.adb: Minor reformatting
11297
11298 2001-12-04  Robert Dewar <dewar@gnat.com>
11299
11300         * exp_util.adb: Minor reformatting from last change
11301
11302         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
11303         which is a rewriting of an expression, traverse the original
11304         expression to remove warnings that may have been posted on it.
11305
11306 2001-12-04  Ed Schonberg <schonber@gnat.com>
11307
11308         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
11309         record that has other packed components.
11310
11311 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
11312
11313         * adaint.c: Minor cleanups.
11314
11315 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
11316
11317         * adaint.c: Do not use utime.h on vxworks.
11318
11319 2001-12-04  Arnaud Charlet <charlet@gnat.com>
11320
11321         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
11322         more confusion than it solves.
11323
11324 2001-12-04  Geert bosch <bosch@gnat.com>
11325
11326         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
11327
11328 2001-12-04  Geert Bosch  <bosch@gnat.com>
11329
11330         * Makefile.in (update-sources): New target.
11331         For use by gcc_release script.
11332
11333 2001-12-04  Ed Schonberg <schonber@gnat.com>
11334
11335         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
11336         a configuration pragma, it is now legal wherever a pragma can appear.
11337
11338 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
11339
11340         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
11341         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
11342         is now @CROSS@ -DIN_GCC; update comment.
11343
11344 2001-12-04  Robert Dewar <dewar@gnat.com>
11345
11346         * einfo.adb (Has_Pragma_Pure_Function): New flag.
11347         Fix problem that stopped ceinfo from working
11348
11349         * einfo.ads (Has_Pragma_Pure_Function): New flag.
11350
11351         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
11352
11353 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
11354
11355         * gnatchop.adb:
11356         (File_Time_Stamp): New procedure.
11357         (Preserve_Mode): New boolean.
11358         (Write_Unit): Pass time stamp.
11359         Implement -p switch (preserve time stamps).
11360
11361         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
11362
11363         * gnatchop.adb: Do usage info for -p switch
11364
11365         * adaint.h (__gnat_set_file_time_name): New function
11366
11367         * adaint.c (__gnat_set_file_time_name): Implement
11368
11369         * adaint.h: Fix typo
11370
11371 2001-12-03  Robert Dewar <dewar@gnat.com>
11372
11373         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
11374         have Associated_Node.
11375
11376 2001-12-03  Robert Dewar <dewar@gnat.com>
11377
11378         * prj-proc.adb: Minor reformatting
11379
11380         * make.adb: Minor reformatting
11381
11382 2001-12-03  Geert Bosch <bosch@gnat.com>
11383
11384         * make.adb: Minor reformatting.
11385
11386 2001-12-03 Robert Dewar  <dewar@gnat.com>
11387
11388         * sem_ch12.adb: Minor reformatting
11389
11390 2001-12-03  Ed Schonberg <schonber@gnat.com>
11391
11392         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
11393         push Standard on the stack before analyzing the instance body,
11394         in order to have a clean visibility environment.
11395
11396         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
11397
11398 2001-12-03  Ed Schonberg <schonber@gnat.com>
11399
11400         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
11401         instantiation of a body that contains an inlined body.
11402
11403 2001-12-03  Ed Schonberg <schonber@gnat.com>
11404
11405         * sem_ch12.adb:
11406         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
11407         to prevent freezing within formal packages.
11408         (Freeze_Subprogram_Body): If body comes from another instance that
11409         appeared before its own body, place freeze node at end of current
11410         declarative part, to prevent a back-end crash.
11411         (Inline_Instance_Body): Handle properly a package instance within
11412         a subprogram instance that is a child unit.
11413
11414 2001-12-01  Graham Stott  <grahams@redhat.com>
11415
11416         * Makefile.in (misc.o): Add missing $(srcdir) prefix
11417         and add optabs.h dependency.
11418
11419         * misc.c: Include optabs.h
11420         (gnat_tree_code_type): Make static and const.
11421         (gnat_tree_code_length): Likewise.
11422         (gnat_tree_code_name): Likewise.
11423         (update_setjmp_buf): Obtain operands mode from insn_data.
11424
11425 2001-11-29  Richard Henderson  <rth@redhat.com>
11426
11427         * init.c: Remove obsolete dwarf2 frame.h section.
11428
11429 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
11430
11431         * Make-lang.in (ada.generated-manpages): New dummy target.
11432
11433 2001-11-29  Ed Schonberg <schonber@gnat.com>
11434
11435         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
11436         into Command, an array conversion is illegal here. Uncovered by
11437         ACATS B460005.
11438
11439 2001/11/28  Geert Bosch <bosch@gnat.com>
11440
11441         * init.c: Minor whitespace changes.
11442
11443 2001-11-28  Doug Rupp <rupp@gnat.com>
11444
11445         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
11446         signal stack.
11447
11448 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
11449
11450         * misc.c (gnat_expand_constant): Move declaration above
11451         definition of lang_hooks.
11452         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
11453         (gnat_init): lang_expand_constant no longer exists.
11454
11455         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
11456         always have vprintf.
11457         (gnat_init): Always call set_internal_error_function.
11458
11459 2001-11-27  Andreas Jaeger  <aj@suse.de>
11460
11461         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
11462
11463 2001-11-27  Laurent Guerby  <guerby@acm.org>
11464
11465         * Makefile.in: Regenerate Ada dependencies.
11466
11467 2001-11-26  Richard Henderson  <rth@redhat.com>
11468
11469         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
11470         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
11471         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
11472
11473 2001-11-25  Laurent Guerby  <guerby@acm.org>
11474
11475         * sysdep.c (rts_get_*): Fix style.
11476
11477 2001-11-19  Laurent Guerby  <guerby@acm.org>
11478
11479         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
11480         since it is of no apparent use and cause warnings.
11481
11482 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
11483
11484         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
11485         static too.
11486         (gnat_init): Don't return NULL.
11487         (finish_parse): Remove.
11488
11489 2001-11-17  Laurent Guerby  <guerby@acm.org>
11490
11491         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
11492         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
11493         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
11494         * lang-spec.h: Add missing struct field to silence warnings.
11495         * sysdep.c (rts_get_*): Provide K&R prototype.
11496         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
11497         * traceback.c (Unlock_Task, Lock_Task): Likewise.
11498         * tracebak.c (__gnat_backtrace): Remove unused variable.
11499         * utils.c (end_subprog_body): Move to K&R style.
11500
11501 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11502
11503         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
11504
11505 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
11506
11507         * misc.c (gnat_init): Change prototype.  Include the
11508         functionality of the old init_parse and init_decl_processing.
11509         (gnat_init_decl_processing): New prototype.
11510         (init_parse): Remove.
11511         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
11512
11513 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11514
11515         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
11516         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
11517         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
11518         set_yydebug): Remove.
11519
11520 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11521
11522         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
11523         (struct lang_hooks): Constify.
11524         (language_string, lang_identify): Remove.
11525         * utils.c (init_decl_processing): Update.
11526
11527 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
11528
11529         * misc.c: Include langhooks-def.h.
11530         * Makefile.in: Update.
11531
11532 2001-10-30  Robert Dewar <dewar@gnat.com>
11533
11534         * style.adb:
11535         (Check_Identifier): Rewrite circuit to be compatible with use of letters
11536         in the upper half of ASCII.
11537         (Check_Identifier): Minor reformatting
11538
11539 2001-10-30  Geert Bosch <bosch@gnat.com>
11540
11541         * (Associated_Node, Set_Associated_Node): Do not check for
11542         Freeze_Entity.
11543
11544 2001-10-30  Robert Dewar <dewar@gnat.com>
11545
11546         * a-reatim.ads: Minor reformatting
11547
11548 2001-10-30  Robert Dewar <dewar@gnat.com>
11549
11550         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
11551         undocumented declarations.
11552
11553 2001-10-30  Pascal Obry <obry@gnat.com>
11554
11555         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
11556         to the binder and linker.
11557         Minor style fix.
11558
11559         * mdll.ads: Fix layout.  Update copyright notice.
11560
11561         * mdll.adb: Fix layout.  Update copyright notice.
11562
11563 2001-10-30  Robert Dewar <dewar@gnat.com>
11564
11565         * usage.adb: Minor fix to output for -gnaty.
11566
11567 2001-10-30  Ed Schonberg <schonber@gnat.com>
11568
11569         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
11570         to accommodate all its possible values.
11571
11572         * a-reatim.adb (Split): Special-case handling of Time_Span_First
11573         and of small absolute values of T.
11574
11575 2001-10-30  Richard Kenner <kenner@gnat.com>
11576
11577         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
11578         set_mem_attributes since not needed and wrong if RESULT if a REG;
11579         fixes ACATS failures.
11580
11581 2001-10-30  Geert Bosch <bosch@gnat.com>
11582
11583         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
11584         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
11585
11586 2001-10-30  Robert Dewar <dewar@gnat.com>
11587
11588         * bindusg.adb: Undocument -f switch.
11589
11590         * gnatcmd.adb: Remove /FULL_ELABORATION.
11591
11592         * opt.ads (Force_RM_Elaboration_Order): Document that this is
11593         obsolescent.
11594
11595         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
11596
11597         * gnatbind.adb: Minor update of warning msg.
11598
11599 2001-10-30  Vincent Celier <celier@gnat.com>
11600
11601         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
11602         for project file switches (-P (/PROJECT_FILE=),
11603          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
11604         or MEDIUM or HIGH)
11605
11606 2001-10-30  Geert Bosch <bosch@gnat.com>
11607
11608         * decl.c: Minor whitespace fixes.
11609
11610 2001-10-30  Richard Kenner <kenner@gnat.com>
11611
11612         * utils2.c (build_allocator): Test for SIZE overflow in array case too
11613
11614 2001-10-30  Geert Bosch <bosch@gnat.com>
11615
11616         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
11617         Found due to GCC 3.0 warning of using uninitialized value.
11618
11619         * layout.adb:
11620         (Get_Max_Size): Use variant record for tracking value/expression.
11621          Makes logic clearer and prevents warnings for uninitialized variables.
11622         (Layout_Array_Type): Use variant record for tracking value/expression.
11623          Makes logic clearer and prevents warnings for uninitialized variables.
11624
11625 2001-10-30  Robert Dewar <dewar@gnat.com>
11626
11627         * lib.adb: Minor reformatting
11628
11629         * s-taprop.ads: Minor reformatting
11630
11631 2001-10-29  Laurent Guerby  <guerby@acm.org>
11632
11633         * init.c:
11634         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
11635         const.
11636         (_gnat_error_handler): Make MSG const.
11637
11638 2001-10-29  Richard Kenner <kenner@gnat.com>
11639
11640         * sysdep.c: Fix localtime_r problem on LynxOS.
11641         Also remove #elif to avoid warnings.
11642
11643         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
11644         used by this.
11645
11646         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
11647
11648 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
11649
11650         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
11651         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
11652         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
11653         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
11654         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
11655         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
11656         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
11657         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
11658         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
11659         types.ads, urealp.adb: Fix spelling errors.
11660
11661 2001-10-27  Laurent Guerby <guerby@acm.org>
11662
11663         * trans.c (gigi): Fix non determinism leading to bootstrap
11664         comparison failures for debugging information.
11665
11666 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
11667
11668         * gnat_rm.texi: Use @./@: where appropriate.
11669
11670 2001-10-26  Robert Dewar <dewar@gnat.com>
11671
11672         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
11673
11674 2001-10-26  Richard Kenner <kenner@gnat.com>
11675
11676         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
11677
11678 2001-10-26  Richard Kenner <kenner@gnat.com>
11679
11680         * decl.c (validate_size): Modify message for bad size to avoid
11681         implication that compiler is modifying the size.
11682
11683 2001-10-26  Robert Dewar <dewar@gnat.com>
11684
11685         * prj-util.adb: Minor reformatting. Fix bad header format.
11686
11687 2001-10-26  Robert Dewar <dewar@gnat.com>
11688
11689         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
11690
11691         * sinfo.ads: Clarify use of Associated_Node (documentation only).
11692
11693         * sem_ch12.adb: Change Node4 to Associated_Node. Change
11694         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
11695         much more narrowly in places where needed. These are cleanups.
11696
11697 2001-10-26  Joel Brobecker <brobecke@gnat.com>
11698
11699         * 5zosinte.ads (null_pthread): new constant.
11700
11701         * 5ztaprop.adb:
11702         (Initialize_TCB): Initialize thread ID to null, to be able to verify
11703          later that this field has been set.
11704         (Finalize_TCB): ditto.
11705         (Suspend_Task): Verify that the thread ID is not null before using it.
11706         (Resume_Task): ditto.
11707
11708         * s-tasdeb.adb:
11709         (Resume_All_Tasks): Lock the tasks list before using it.
11710         (Suspend_All_Tasks): ditto.
11711
11712 2001-10-26  Richard Kenner <kenner@gnat.com>
11713
11714         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
11715         Make constant variant of designated type for Is_Access_Constant.
11716         Call update_pointer_to with main variant.
11717
11718         * trans.c (process_freeze_entity, process_type):
11719         Call update_pointer_to on main variant.
11720
11721         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
11722         If main variant, update all other variants.
11723
11724         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
11725         TREE_STATIC.
11726
11727 2001-10-26  Robert Dewar <dewar@gnat.com>
11728
11729         * prj-util.adb: Minor reformatting
11730
11731 2001-10-26  Robert Dewar <dewar@gnat.com>
11732
11733         * prj-util.adb: Minor reformatting
11734
11735 2001-10-26  Robert Dewar <dewar@gnat.com>
11736
11737         * prj-attr.adb: Minor reformatting throughout
11738
11739 2001-10-26  Robert Dewar <dewar@gnat.com>
11740
11741         * prj-attr.ads: Minor reformatting
11742         Add ??? comment (this whole spec has almost no comments)
11743
11744 2001-10-26  Vincent Celier <celier@gnat.com>
11745
11746         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
11747         ("//") that precede the drive letter on Interix.
11748
11749 2001-10-26  Geert Bosch <bosch@gnat.com>
11750
11751         * gnat_rm.texi: Add GNAT Reference Manual.
11752
11753 2001-10-25  Robert Dewar <dewar@gnat.com>
11754
11755         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
11756         is Error. Similar change for other renaming cases.
11757
11758 2001-10-25  Robert Dewar <dewar@gnat.com>
11759
11760         * s-atacco.ads: Add pragma Inline_Always for functions.
11761         Fix header format. Add copyright 2001
11762
11763 2001-10-25  Ed Schonberg <schonber@gnat.com>
11764
11765         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
11766         return Error rather than Empty so that analysis can proceed.
11767
11768 2001-10-25  Ed Schonberg <schonber@gnat.com>
11769
11770         * sem_util.adb (Enter_Name): better handling of cascaded error
11771         messages when a unit appears in its own context.
11772
11773 2001-10-25  Ed Schonberg <schonber@gnat.com>
11774
11775         * sem_util.adb (Defining_Entity): in case of error, attach created
11776         entity to specification, so that semantic analysis can proceed.
11777
11778 2001-10-25  Robert Dewar <dewar@gnat.com>
11779
11780         * sem_util.adb
11781         (Defining_Entity): Deal with Error.
11782         (Process_End_Label): Deal with bad end label for.
11783
11784 2001-10-25  Ed Schonberg <schonber@gnat.com>
11785
11786         * sem_elab.adb (Check_A_Call): refine message when call is in an
11787         instance but callee is not declared in the generic unit.
11788
11789 2001-10-25  Ed Schonberg <schonber@gnat.com>
11790
11791         * sem_elab.adb (Check_A_Call): check for renaming before finding the
11792         enclosing unit, which may already be different from the calling unit.
11793
11794 2001-10-25  Geert Bosch <bosch@gnat.com>
11795
11796         * 4gintnam.ads: fix header format.
11797
11798 2001-10-25  Ed Schonberg <schonber@gnat.com>
11799
11800         * sem_res.adb (Resolve_Call): if the call is actually an indexing
11801         operation on the result of a parameterless call, perform elaboration
11802         check after the node has been properly rewritten.
11803
11804         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
11805         inlined within the generic tree, the defining identifier is not a
11806         compilation_unit.
11807
11808 2001-10-25  Ed Schonberg <schonber@gnat.com>
11809
11810         * sem_res.adb (Resolve): special-case resolution of Null in an
11811          instance or an inlined body to avoid view conflicts.
11812
11813         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
11814          compatibility by retrieving the access type of the generic copy.
11815
11816 2001-10-25  Robert Dewar <dewar@gnat.com>
11817
11818         * sem_ch3.adb:
11819         (Analyze_Number_Declaration): Handle error expression.
11820         (Signed_Integer_Type_Declaration): Handle error bound.
11821         (Analyze_Subtype_Indication): Handle error range.
11822
11823         * sem_util.adb (Get_Index_Bounds): Check for Error.
11824
11825 2001-10-25  Robert Dewar <dewar@gnat.com>
11826
11827         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
11828         in no run time mode.
11829
11830 2001-10-25  Pascal Obry <obry@gnat.com>
11831
11832         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
11833         mode case for ALLOC case.
11834
11835         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
11836         all platforms. Improvement of last change.
11837
11838 2001-10-25  Robert Dewar <dewar@gnat.com>
11839
11840         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
11841
11842 2001-10-25  Geert Bosch  <bosch@gnat.com>
11843
11844         * osint.adb (Is_Relative): Remove duplicate.
11845
11846 2001-10-25  Pascal Obry <obry@gnat.com>
11847
11848         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
11849         pathnames in UNIX and DOS style with drive letter.
11850         (Is_Relative): new routine.
11851
11852         * osint.adb: Minor reformatting
11853
11854         * osint.adb (Is_Relative): implementation using
11855         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
11856
11857 2001-10-25  Pascal Obry <obry@gnat.com>
11858
11859         * g-dirope.adb (Basename): correctly compute offset between the
11860         original Path and the translated one.
11861
11862         * g-dirope.adb: (Base_Name): add some comments.
11863
11864 2001-10-25  Robert Dewar <dewar@gnat.com>
11865
11866         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
11867         in HIE mode, avoids compilation abandoned message
11868
11869         * exp_imgv.adb: Correct typo in previous change
11870
11871         * exp_imgv.adb: Correct typo in previous change (not my day!)
11872
11873 2001-10-25  Robert Dewar <dewar@gnat.com>
11874
11875         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
11876
11877 2001-10-25  Pascal Obry <obry@gnat.com>
11878
11879         * g-awk.ads: Move all pragma inlines next to the routine
11880          declarations. This is more uniform with other GNAT spec.
11881
11882 2001-10-22  Geert Bosch  <bosch@gnat.com>
11883
11884         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
11885
11886 2001-10-19  Geert Bosch  <bosch@gnat.com>
11887
11888         * Makefile.in (tools, gnattools): Remove gnatmem.
11889
11890 2001-10-17  Richard Henderson  <rth@redhat.com>
11891
11892         * Makefile.in (misc.o): Depend on langhooks.h.
11893         * misc.c: Include it.
11894         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
11895         (LANG_HOOKS_DECODE_OPTION): New.
11896         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
11897
11898 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
11899
11900         * trans.c (tree_transform): Adjust to recent change in
11901         expand_asm_operands to implement named asm operands.
11902
11903 2001-10-11  Ed Schonberg  <schonber@gnat.com>
11904
11905         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
11906         renaming of discriminant for mutable record type.
11907
11908 2001-10-11  Robert Dewar  <dewar@gnat.com>
11909
11910         * validsw.adb: Properly save -gnatVn status.
11911
11912 2001-10-11  Robert Dewar <dewar@gnat.com>
11913
11914         * usage.adb: Add lines for V switch.
11915
11916         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
11917         (/VALIDITY_CHECKING).
11918
11919 2001-10-11  Ed Schonberg <schonber@gnat.com>
11920
11921         * sem_type.adb (Add_One_Interp): an operator for a type declared in
11922         an extension of System is known to be visible.
11923
11924 2001-10-11  Ed Schonberg <schonber@gnat.com>
11925
11926         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
11927         properly. Fixes regression on ACATS C34005G.
11928
11929 2001-10-11  Robert Dewar <dewar@gnat.com>
11930
11931         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
11932         loop in generic instance, since this is likely not very useful.
11933
11934 2001-10-11  Robert Dewar <dewar@gnat.com>
11935
11936         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
11937         the error message for high integrity mode.
11938
11939         * rtsfind.adb (RTE): Give message if we try to find an entity that
11940         is not available in high integrity mode.
11941
11942         * rtsfind.ads:
11943         (OK_To_Use_In_HIE_Mode): New array.
11944         (RTE): May return Empty in high integrity mode.
11945
11946         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
11947         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
11948
11949         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
11950         unit if not inlined always and in no runtime mode. Fixes problem
11951         caused by new Rtsfind changes.
11952
11953         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
11954         body is deleted.
11955
11956         * rtsfind.adb (RTE): Make sure we do not try to load unit after
11957         giving message for entity not available in high integrity mode.
11958
11959 2001-10-11  Pascal Obry <obry@gnat.com>
11960
11961         * impunit.adb: Add GNAT.CRC32.
11962
11963 2001-10-11  Ed Schonberg <schonber@gnat.com>
11964
11965         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
11966         properly the case where one universal operand in a non-static
11967         exponentiation of a real literal.
11968
11969 2001-10-11  Ed Schonberg <schonber@gnat.com>
11970
11971         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
11972         clause, return the gobal finalization list, for lack of anthing else.
11973
11974 2001-10-11  Ed Schonberg <schonber@gnat.com>
11975
11976         * exp_ch7.adb (Make_Transient_Block): if statement is within
11977         exception handler, always use new transient scope to place Clean
11978         procedure.
11979
11980 2001-10-11  Pascal Obry <obry@gnat.com>
11981
11982         * Makefile.in:
11983         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
11984         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
11985         (GNATLS_RTL_OBJS): add g-crc32.o
11986         (GNATMAKE_RTL_OBJS): add g-crc32.o
11987
11988         * ali-util.adb:
11989         (CRC_Match): new function.
11990         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
11991         instead of the previous simple checksum algorithm.
11992         (Time_Stamp_Mismatch): use CRC_Match for comparison.
11993         (Set_Source_Table): idem.
11994
11995         * ali-util.ads:
11996         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
11997         instead of simple checksum.
11998         (CRC_Match): new function.
11999         (CRC_Error): new constant.
12000
12001         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
12002         a CRC now and not a simple checksum. A CRC uses lower-case hex
12003         letters, fixes ambiguity in parsing.
12004
12005         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
12006         is what this variable will store.
12007
12008         * bcheck.adb: Change reference to chechsum in comments by CRC.
12009         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
12010         rename All_Checksum_Match to All_CRC_Match. Change due to API
12011         renaming since now GNAT does not use a simple checksum but a
12012         CRC using GNAT.CRC32.
12013
12014         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
12015         now and not anymore a simple checksum.
12016
12017         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
12018         places.
12019
12020         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
12021
12022         * scans.adb:
12023         (Restore_Scan_State): rename Checksum to CRC.
12024         (Save_Scan_State): idem.
12025
12026         * scans.ads:
12027         With GNAT.CRC32.
12028         (Checksum): rename to CRC.
12029         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
12030
12031         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
12032         GNAT.CRC32).  Update copyright notice.
12033
12034         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
12035         GNAT.CRC32).  Update copyright notice.
12036
12037         * scn.adb:
12038         (Accumulate_Checksum): removed.
12039         (Update): new procedure. Add a wide-character into the CRC.
12040
12041         * sinput-l.adb:
12042         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
12043         (Load_File): fix initialization of S (change Source_Checksum to
12044         Source_CRC)
12045
12046         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
12047         Source_CRC in S initialization.
12048
12049         * sinput.adb (Source_Checksum): renamed to Source_CRC.
12050
12051         * sinput.ads (Source_Checksum): renamed to Source_CRC.
12052         Update comments for the CRC.
12053
12054         * types.adb (Hex): Use lowercase for the letter part.
12055
12056         * types.ads (Get_Hex_String): Returns the hexadecimal representation
12057         for a word. This is currently used only for CRC. In previous version,
12058         the checksum was using a representation with all letter being
12059         upper-case. With the new implementation (using CRC) we do not remove
12060         the 32th bit of the CRC, so we can have an upper-case starting letter
12061         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
12062         It is ambigous since the CRC was optional and could be followed by
12063         options like EB, EE. So now this routines uses lower-case letter for
12064         the hexadecimal representation. Strange enough only lower case letters
12065         where checked in Scan_ALI (even if this was not a possible case).
12066
12067         * gnatvsn.ads (Library_Version): changed to 3.15a.
12068
12069         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
12070         for the compiler.
12071
12072         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
12073         for the compiler.
12074
12075         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
12076         Add 2001 to copyright notice
12077         (Accumulate_Checksum): Modify to use System.CRC32.
12078
12079         * ali-util.ads: Redo changes of previous revision to continue to use
12080         the word Checksum. Add 2001 to copyright notice.
12081
12082         * ali.adb: Undo some of previous changes, not needed.
12083         Keep the change for lower case letters in the checksum.
12084
12085         * ali.ads: Undo previous change not needed.
12086
12087         * bcheck.adb: Undo most of previous change, not needed.
12088         But do use Checksums_Match for checksum comparison.
12089
12090         * gnatls.adb: Undo most of previous change, not needed.
12091         But do use Checksums_Match for comparing checksums.
12092
12093         * lib-load.adb: Undo previous change, not needed.
12094
12095         * lib-writ.adb: Undo previous change, not needed.
12096
12097         * lib-writ.ads: Document that checksums use lower case,
12098         not upper case letters.
12099
12100         * scans.adb: Undo previous change, not needed
12101
12102         * scans.ads: Undo previous change, not needed.
12103
12104         * scn-nlit.adb: Undo previous changes, not needed.
12105
12106         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
12107
12108         * scn.adb:
12109         (Accumulate_Checksum): Use System.CRC32.
12110         (Initialize_Checksum): New procedure.
12111         Remove other changes of previous revision.
12112
12113         * sinput-p.adb: Undo previous change, not needed.
12114
12115         * sinput.adb: Undo previous change, not needed.
12116
12117         * sinput-l.adb: Undo previous change, not needed.
12118
12119         * sinput.ads: Undo previous change, not needed.  Keep only comment
12120         on new checksum algorithm
12121
12122         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
12123         Also remove a-tags and a-stream from GNAT sources.
12124
12125         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
12126
12127         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
12128
12129 2001-10-11  Geert Bosch  <bosch@gnat.com>
12130
12131         * einfo.h: Regenerate.
12132
12133         * nmake.ads: Regenerate.
12134
12135         * nmake.adb: Regenerate.
12136
12137         * sinfo.h: Regenerate.
12138
12139         * treeprs.adb: Regenerate.
12140
12141 2001-10-10  Geert Bosch  <bosch@gnat.com>
12142
12143         * gnat-style.texi: New file describing coding guidelines for Ada.
12144
12145 2001-10-10  Ed Schonberg <schonber@gnat.com>
12146
12147         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
12148         is Flag174.
12149
12150 2001-10-10  Geert Bosch  <bosch@gnat.com>
12151
12152         * snames.ads: Add new names for project facility.
12153
12154         * snames.adb: Update to reflect snames.ads changes.
12155
12156         * snames.h: Update to reflect snames.ads changes.
12157
12158 2001-10-10  Vincent Celier <celier@gnat.com>
12159
12160         * make.adb:
12161         (Add_Switches): reflect the changes for the switches attributes
12162         Default_Switches indexed by the programming language,
12163         Switches indexed by the file name.
12164         (Collect_Arguments_And_Compile): Idem.
12165         Reflect the attribute name changes.
12166
12167         * prj-attr.adb:
12168         (Initialisation_Data): Change the names of some packages and
12169         attributes.
12170         (Initialize): process case insensitive associative arrays.
12171
12172         * prj-attr.ads:
12173         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
12174
12175         * prj-dect.adb:
12176         (Parse_Attribute_Declaration): For case insensitive associative
12177          arrays, set the index string to lower case.
12178
12179         * prj-env.adb:
12180         Reflect the changes of the project attributes.
12181
12182         * prj-nmsc.adb:
12183         Replace Check_Naming_Scheme by Ada_Check and
12184         Language_Independent_Check.
12185
12186         * prj-nmsc.ads:
12187         Replaced Check_Naming_Scheme by 2 procedures:
12188         Ada_Check and Language_Independent_Check.
12189
12190         * prj-proc.adb:
12191         (Process_Declarative_Items): For case-insensitive associative
12192         arrays, set the index string to lower case.
12193         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
12194         Prj.Nmsc.Check_Naming_Scheme.
12195
12196         * prj-tree.adb:
12197         (Case_Insensitive): New function
12198         (Set_Case_Insensitive): New procedure
12199
12200         * prj-tree.ads:
12201         (Case_Insensitive): New function
12202         (Set_Case_Insensitive): New procedure
12203         (Project_Node_Record): New flag Case_Insensitive.
12204
12205         * prj-util.adb:
12206         (Value_Of): new function to get the string value of a single
12207         string variable or attribute.
12208
12209         * prj-util.ads:
12210         (Value_Of): new function to get the string value of a single
12211         string variable or attribute.
12212
12213         * prj.adb:
12214         (Ada_Default_Spec_Suffix): New function
12215         (Ada_Default_Impl_Suffix): New function
12216         Change definitions of several constants to reflect
12217         new components of record types.
12218
12219         * prj.ads:
12220         (Naming_Data): Change several components to reflect new
12221         elements of naming schemes.
12222         (Project_Data): New flags Sources_Present and
12223         Language_Independent_Checked.
12224         (Ada_Default_Spec_Suffix): New function.
12225         (Ada_Default_Impl_Suffix): New function.
12226
12227         * snames.ads:
12228         Modification of predefined names for project manager: added
12229         Implementation, Specification_Exceptions, Implementation_Exceptions,
12230         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
12231         Default_Switches, _Languages, Builder, Cross_Reference,
12232         Finder. Removed Body_Part, Specification_Append, Body_Append,
12233         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
12234         Gnatlink.
12235
12236         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
12237         Add comments.
12238
12239         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
12240         not that it is Nil_Variable_Value.
12241
12242         * prj.ads: Add ??? for uncommented declarations
12243
12244 2001-10-10  Ed Schonberg <schonber@gnat.com>
12245
12246         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
12247         constant, do not indicate possible modification, so that gigi can
12248         treat it as a bona fide constant.
12249
12250 2001-10-10  Robert Dewar <dewar@gnat.com>
12251
12252         * sem_prag.adb: Add processing for pragma External.
12253
12254         * snames.ads: Add entry for pragma External.
12255
12256         * par-prag.adb: Add pragma External.
12257
12258         * snames.adb: Updated to match snames.ads.
12259
12260 2001-10-10  Ed Schonberg <schonber@gnat.com>
12261
12262         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
12263         a dynamic task if the allocator appears in an indexed assignment
12264         or selected component assignment.
12265
12266         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
12267         For a dynamic task in an assignment statement, use target of
12268         assignment to generate meaningful name.
12269
12270 2001-10-10  Ed Schonberg <schonber@gnat.com>
12271
12272         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
12273         a generic package.
12274
12275         * einfo.ads: Body_Entity is also defined for generic package.
12276         Documentation change only
12277
12278         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
12279         others_choice for a discriminated component initialization,
12280         convert discriminant references into the corresponding discriminals.
12281
12282         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
12283         only if original type is private and expression has to be wrapped
12284         in a conversion.
12285
12286         * checks.adb:
12287         (Apply_Constraint_Check): Do not perform length check
12288         if expression is an aggregate with only an others_choice.
12289         (Length_N_Cond): two references to the same in_parameter
12290         (typically the discriminal in an init_proc) denote the same value.
12291         Two useful optimization uncovered by bugfixes above.
12292
12293 2001-10-10  Robert Dewar <dewar@gnat.com>
12294
12295         * xeinfo.adb: Change int to char in translation of enumeration types.
12296         This fixes a problem in the C representation of component alignment.
12297         Add 2001 to copyright notice
12298
12299 2001-10-10  Richard Kenner <kenner@gnat.com>
12300
12301         * decl.c: (validate_size): Do check size of object of integral type
12302         if it is a packed array type.
12303
12304 2001-10-10  Richard Kenner <kenner@gnat.com>
12305
12306         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
12307         VAR_DECL for constant if not Is_Public but -O0.
12308
12309 2001-10-10  Richard Kenner  <kenner@gnat.com>
12310
12311         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
12312
12313 2001-10-10  Geert Bosch  <bosch@gnat.com>
12314
12315         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
12316         use '/' as switch character, allowing for absolute file names.
12317
12318 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
12319
12320         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
12321         FSF address.
12322
12323 2001-10-08  Geert Bosch  <bosch@gnat.com>
12324
12325         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
12326         Automatically build utilities when files need to be regenerated.
12327
12328 2001-10-08  Geert Bosch  <bosch@gnat.com>
12329
12330         * xsnames.adb: New utility for updating snames.ads and snames.adb
12331
12332 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
12333
12334         * Make-lang.in (ADAFLAGS): Add -W -Wall.
12335         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
12336         (gnat1): Also depend on attribs.o.
12337         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
12338         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
12339         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
12340         (ADAFLAGS): Add -W -Wall.
12341         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
12342         take out CFLAGS.
12343
12344         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
12345         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
12346         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
12347         Use $(ADAC), not $(CC), as compilation command.
12348
12349         (gnattools): Depend directly on tools to build, don't use
12350         recursive make.
12351         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
12352
12353         * einfo.h, sinfo.h: New files (autogenerated).
12354
12355 2001-10-08  Richard Henderson  <rth@redhat.com>
12356
12357         * comperr.adb (Abort_In_Progress): New.
12358         (Compiler_Abort): Use it to prevent recursion.
12359
12360 2001-10-08  Robert Dewar <dewar@gnat.com>
12361
12362         * atree.adb: Set Error_Posted in Error node, helps error recovery.
12363
12364         * par-endh.adb (Output_End_Expected): We should also not test
12365         Error_Posted on the Error node, since now it is always set.
12366
12367         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
12368         to help error recovery. Part of general work on 9407-004.
12369
12370         * par.adb: Add ??? for misuse of error
12371
12372         * sem_res.adb:
12373         (Resolve): Defend against Error, fixes 9407-003.
12374         (Resolve_Discrete_Subtype_Indication): Defend against Error.
12375
12376         * sinfo.ads (N_Error): Now has Etype field (which will be set
12377         to Any_Type to help error recovery).
12378
12379 2001-10-08  Richard Kenner (kenner@gnat.com)
12380
12381         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
12382         Consistently set MEM attributes from expression; fixes
12383         bootstrap failure on x86.
12384
12385 2001-10-08  Geert Bosch  (bosch@gnat.com)
12386
12387         * 5oosinte.adb: Add 2001 to copyright notice.
12388
12389 2001-10-08  Geert Bosch  (bosch@gnat.com)
12390
12391         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
12392
12393         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
12394
12395 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
12396
12397         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
12398
12399 2001-10-05  Geert Bosch  (bosch@gnat.com)
12400
12401         * adaint.h: Small formatting fix.
12402
12403 2001-10-04  Geert Bosch  <bosch@gnat.com>
12404
12405         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
12406         Arg is int, not FILE *, in dummy version of functions.
12407
12408         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
12409         Arg is int, not FILE *.
12410
12411 2001-10-04  Geert Bosch  <bosch@gnat.com>
12412
12413         * 3lsoccon.ads: Added file, missed with initial check ins.
12414
12415         * 4lintnam.ads: Fix header format.
12416         Change Linux to GNU/Linux.
12417
12418         * 5iosinte.adb: Change Linux to GNU/Linux.
12419
12420         * 5iosinte.ads: Change Linux to GNU/Linux.
12421
12422         * 5itaprop.adb: Change Linux to GNU/Linux.
12423
12424         * 5itaspri.ads: Change Linux to GNU/Linux.
12425         Update copyright notice.
12426
12427         * 5lintman.adb: Change Linux to GNU/Linux.
12428
12429         * 5lml-tgt.adb: Change Linux to GNU/Linux.
12430
12431         * 5losinte.ads: Change Linux to GNU/Linux.
12432
12433         * 5lsystem.ads: Change Linux to GNU/Linux.
12434
12435         * 5qosinte.adb: Change Linux to GNU/Linux.
12436
12437         * 5qosinte.ads: Change Linux to GNU/Linux.
12438
12439         * 5qparame.ads: Change Linux to GNU/Linux.
12440
12441         * 5qtaprop.adb: Change Linux to GNU/Linux.
12442
12443         * 5qtaspri.ads: Change Linux to GNU/Linux.
12444         Add 2001 to copyright notice.
12445
12446         * 5vintman.ads: Change Linux to GNU/Linux.
12447         Fix header format.  Add 2001 to copyright notice.
12448
12449         * g-soccon.ads: Change Linux to GNU/Linux.
12450
12451         * g-trasym.ads: Change Linux to GNU/Linux.
12452         Add 2001 to copyright notice.
12453
12454         * memtrack.adb: Change Linux to GNU/Linux.
12455
12456         * s-intman.ads: Change Linux to GNU/Linux.
12457         Add 2001 to copyright notice.  Fix header format.
12458
12459         * s-stache.adb: Change Linux to GNU/Linux.
12460
12461         * adaint.c: Change Linux to GNU/Linux.
12462
12463         * cio.c: Change Linux to GNU/Linux.
12464
12465         * cstreams.c: Change Linux to GNU/Linux.
12466
12467         * init.c: Change Linux to GNU/Linux.
12468
12469         * gmem.c: Change Linux to GNU/Linux.
12470
12471         * tracebak.c: Change Linux to GNU/Linux.
12472
12473
12474 2001-10-02  Geert Bosch  <bosch@gnat.com>
12475
12476         * misc.c (insert_default_attributes): Add dummy version.