OSDN Git Service

PR ada/15568
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
2
3         PR ada/15568
4
5         * Makefile.in: Remove target specific SO_OPT on IRIX
6
7 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8
9         * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
10         (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
11         (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
12         (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
13         (STMT_STMT, USE_STMT): New statement codes.
14         (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
15         * ada-tree.h: Reflect above changes.
16         (struct tree_loop_id): Deleted.
17         (union lang_tree_node, struct lang_decl, struct lang_type):
18         Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
19         and DECL_LANGUAGE_SPECIFIC to reflect these changes.
20         (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
21         (IS_ADA_STMT): New macro.
22         * decl.c (annotate_decl_with_node): New function.
23         (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
24         (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
25         Call add_stmt_with_node to do needed assignments.
26         Add call to update setjmp buffer directly, not via EXPR_STMT.
27         (maybe_variable): Argment GNAT_NODE deleted.
28         * gigi.h (maybe_variable): Likewise.
29         (make_transform, add_stmt_with_node, set_block_for_group): New.
30         (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
31         (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
32         (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
33         (set_lineno, set_lineno_from_sloc): Likewise.
34         (record_code_position, insert_code_for): Likewise.
35         (gnat_poplevel): Now returns void.
36         (end_subprog_body): Now takes argument.
37         * misc.c (cgraph.h, tree-inline.h): New includes.
38         (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
39         (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
40         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
41         (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
42         (gnat_parse_file): Don't set immediate_size_expand.
43         Call cgraph functions.
44         (gnat_expand_expr): Remove most cases.
45         (record_code_position, insert_code_for): Remove from here.
46         * trans.c (toplev.h, tree-gimple.h): Now included.
47         (discard_file_names): Deleted.
48         (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
49         (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
50         (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
51         (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
52         (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
53         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
54         (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
55         (set_block_for_group, add_stmt_list): Likewise.
56         (start_stmt_group): Renamed from start_block_stmt.
57         (end_stmt_group): Likewise, from end_block_stmt.
58         (build_stmt_group): Likewise, from build_block_stmt, also add arg.
59         (gigi): Don't set discard_file_names or call set_lineno.
60         Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
61         (tree_transform): Deleted, now renamed to be gnat_to_gnu.
62         Numerous changes throughout to reflect new names and complete
63         function-at-a-time implementation.
64         (gnat_expand_stmt): Delete or comment out all cases.
65         (process_inlined_subprograms): Use add_stmt.
66         (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
67         call set_lineno; also remove unneeded block handling.
68         (process_type): Remove unneeded block handling.
69         (build_unit_elab): Remove calls to deleted functions.
70         * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
71         (tree-dump.h): Likewise.
72         (struct ada_binding_level): Add field jmpbuf_decl.
73         (gnat_define_builtin, gnat_install_builtins): New.
74         (gnat_gimplify_function, gnat_finalize): Likewise.
75         (gnat_poplevel): No longer return BLOCK, set it instead.
76         Remove code dealing with nested functions.
77         (gnat_init_decl_processing): Also set size_type_node.
78         Call gnat_install_builtins.
79         (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
80         (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
81         Remove special-case for "main".
82         (end_subprog_body): Add arg and rework for tree-ssa.
83         (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
84         Add case for BOOLEAN_TYPE.
85         * utils2.c (rtl.h): Now include.
86         (build_call_raise): Test Debug_Flag_NN directly.
87         (build_call_alloc_dealloc): Don't use local stack allocation for now.
88         (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
89         (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
90
91 2004-06-07  Robert Dewar  <dewar@gnat.com>
92
93         * a-direct.ads, einfo.ads: Minor comment updates
94
95         * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
96         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
97         s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
98         s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
99         s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
100
101         * s-interr-sigaction.adb: Remove unreferenced variable
102         (Attached_Interrupts).  Minor reformatting.
103         Avoid use of variable I (replace by J).
104
105         * par-ch10.adb: Fix text of one error message
106
107         * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
108         exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
109         exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
110         opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
111         par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
112         par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
113         sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
114         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
115         sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
116         sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
117         snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
118         2005 support.
119
120 2004-06-07  Doug Rupp  <rupp@gnat.com>
121
122         * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
123
124         * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
125
126         * mlib-tgt-vms-ia64.adb: New file.
127
128         * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
129         Add mlib-tgt-vms-ia64.adb
130         Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
131         Move to alpha specific ifeq section.
132         Add VMS specific versions of symbols.adb
133         Renaming of 5q vms files.
134
135         * 5qsystem.ads renamed to system-vms_64.ads.
136
137 2004-06-07  Vincent Celier  <celier@gnat.com>
138
139         * a-calend.ads: Add a GNAT Note comment after function Time_Of to
140         explain that when a time of day corresponding to the non existing hour
141         on the day switching to DST is specified, Split may return a different
142         value for Seconds.
143
144         * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
145         to GNAT PRETTY.
146
147         * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
148         (Normalize_Pathname): Only resolve VMS logical names when on VMS.
149
150         * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
151         to False.
152         If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
153         the linking options.
154         (Build_Library.Check_Libs): On VMS, if there is a dependency on
155         g-trasym.ads, set Gtrasymobj_Needed to True.
156
157         * prj-attr.adb: Add new package Metrics for gnatmetric
158
159         * prj-nmsc.adb (Record_Other_Sources): Put source file names in
160         canonical case to take into account files with upper case characters on
161         Windows.
162         (Ada_Check): Load the reference symbol file name in the name buffer to
163         check it, not the symbol file name.
164
165         * snames.ads, snames.adb: Add standard name Metrics (name of project
166         file package for gnatmetric).
167
168         * vms_conv.ads: Add Metric to Comment_Type
169
170         * vms_conv.adb (Initialize): Add component dor Metric in Command_List
171
172         * vms_data.ads: Add qualifiers for GNAT METRIC
173
174         * makegpr.adb (Link_Executables): Take into account the switches
175         specified in package Linker of the main project.
176
177 2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
178
179         * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
180         the index of the last element is Units.Last, not Units.Table'Last
181         (which is usually not a valid index within the actually allocated
182         storage for the table).
183
184         * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
185         determines whether to generate a call to a checked storage pool
186         Dereference action.
187         Generate such a call only for a dereference that either comes from
188         source, or is the result of rewriting a dereference that comes from
189         source.
190
191 2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
192
193         * bindgen.adb (Gen_Output_File): Add support for GAP builds.
194
195 2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
196
197         (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
198         file level, elaborate the stride for inner dimensions in alignment
199         units, not bytes.
200
201         * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
202         in a comment.
203
204 2004-06-07  Javier Miranda  <miranda@gnat.com>
205
206         * exp_ch6.adb: Correct wrong modification in previous patch
207
208 2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
209
210         * g-trasym.ads: Corrected comment to properly reflect level of support
211         on VMS.
212
213 2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
214
215         * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
216         includes case of a variable referenced on the left hand side of an
217         assignment, therefore remove redundant code. Variables and prefixes of
218         indexed or selected components are now marked as referenced on left
219         hand side. Warnings are now properly emitted when variables or prefixes
220         are assigned but not read.
221
222         * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
223         left hand side referenced variables. Private access types do not
224         produce the warning "variable ... is assigned but never read".
225         Add also additional checks to left hand side referenced variables.
226         Aliased, renamed objects and access types do not produce the warning
227         "variable ... is assigned but never read" since other entities may read
228         the memory location.
229
230 2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
231
232         * Makefile.in: In the powerpc/vxworks-specific section, restore
233         EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
234         by mistake).
235
236 2004-06-07  Ed Schonberg  <schonberg@gnat.com>
237
238         * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
239         predefined operators.
240         Removes spurious type errors from g-trasym-vms.adb.
241
242         * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
243         distinct from the operator appearing in the source, call appropriate
244         routine to insert conversions when needed, and complete resolution of
245         node.
246         (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
247         interpretations for rewritten right operand.
248         (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
249         the other operand is overloaded and the context is a type conversion.
250
251 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
252
253         * ada-tree.def (BLOCK_STMT): Now has two operands.
254         (BREAK_STMT): New.
255
256         * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
257
258         * gigi.h: (gnat_poplevel): Now returns a tree.
259
260         * trans.c (end_block_stmt): Add arg; all callers changed.
261         (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
262         (start_block_stmt): Clear BLOCK_STMT_BLOCK.
263         (add_stmt): Set TREE_TYPE.
264         (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
265         (gnat_expand_stmt, case BREAK_STMT): New case.
266
267         * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
268
269 2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
270
271         * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
272         procedure Set_Stack_Size that is not needed.
273
274 2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
275
276         * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
277         used for gnatpp input file and for the files upon which it depends
278
279 2004-06-07  Ben Brosgol  <brosgol@gnat.com>
280
281         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
282
283 2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
284
285         * gnatvsn.ads: Bump version numbers appropriately.
286         Add new build type.
287
288 2004-06-07  Pascal Obry  <obry@gnat.com>
289
290         * gnat_ugn.texi: Improve comments about imported names and link names
291         on Windows. Add a note about the requirement to use -k gnatdll's option
292         when working with a DLL which has stripped stdcall symbols (no @nn
293         suffix).
294
295 2004-05-27  Vincent Celier  <celier@gnat.com>
296
297         * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
298         COMMENTS_LAYOUT=UNTOUCHED
299
300         * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
301         symbols-vms-alpha.adb
302
303 2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
304
305         * sem.ads: Clarify documentation on checks suppression.
306
307         * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
308
309 2004-05-27  Ed Schonberg  <schonberg@gnat.com>
310
311         * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
312         the case of multiple derivations.
313         (Is_Object_Reference): For a selected component, verify that the prefix
314         is itself an object and not a value.
315
316         * sem_ch12.adb (Same_Instantiated_Constant): New name for
317         Same_Instantiated_Entity.
318         (Same_Instantiated_Variable): Subsidiary to
319         Check_Formal_Package_Instance, to recognize actuals for in-out generic
320         formals that are obtained from a previous formal package.
321         (Instantiate_Subprogram_Body): Emit proper error when
322         generating code and the proper body of a stub is missing.
323
324         * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
325         has a universal interpretation, do the disambiguation here.
326
327         * exp_ch4.adb (Expand_N_Type_Conversion,
328         Expand_N_Unchecked_Type_Conversion): Special handling when target type
329         is Address, to avoid typing anomalies when Address is a visible integer
330         type.
331
332         * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
333         to determine whether a subprogram should not be marked Pure, even when
334         declared in a pure package.
335
336 2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
337
338         * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
339
340         * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
341         Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
342         Update the documentation about the Ravenscar profile, following the
343         definition found in AI-249.
344
345         * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
346         setting the Profile (Ravenscar). This must be done in addition to
347         setting the required restrictions.
348
349         * rtsfind.ads: Add the set of operations defined in package
350         Ada.Interrupts.
351
352         * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
353         restriction.
354
355 2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
356
357         lang-specs.h: Always require -c or -S and always redirect to /dev/null
358         if -gnatc or -gnats is passed.
359
360 2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
361
362         * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
363         a significant reference. Warnings are now properly emitted when a
364         discriminated type is not referenced.
365
366         * lib-xref.adb (Generate_Reference): A deferred constant completion,
367         record representation clause or record type discriminant does not
368         produce a reference to its corresponding entity. Warnings are now
369         properly emitted when deferred constants and record types are not
370         referenced.
371
372 2004-05-27  Geert Bosch  <bosch@gnat.com>
373
374         * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
375         Fixes ACATS Annex G tests.
376
377 2004-05-27  Robert Dewar  <dewar@gnat.com>
378
379         * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
380         handling WITH
381
382 2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
383
384         * s-interr.adb (Server_Task): Take into account case of early return
385         from sigwait under e.g. linux.
386
387 2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
388
389         * gnat_ugn.texi: Add description for the new gnatpp options:
390          -rnb - replace the original source without creating its backup copy
391          -c0 - do not format comments
392
393 2004-05-24  Geert Bosch  <bosch@gnat.com>
394
395         * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
396         with 192 bits of precision, sufficient to reduce a double-extended
397         arguments X with a maximum relative error of T'Machine_Epsilon, for X
398         in -2.0**32 .. 2.0**32.
399         (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
400         reduction by the processor, which only uses a 68-bit approximation of
401         Pi.
402         (Tan): Always reduce arguments and compute function either using
403         the processor's fptan instruction, or by dividing sin and cos as needed.
404
405 2004-05-24  Doug Rupp  <rupp@gnat.com>
406
407         * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
408         gcc error on 32/64 bit VMS.
409
410 2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
411
412         * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
413         since this is what we get for stack overflows although not documented
414         as such.
415         Document the issues which may require adjustments to our signal
416         handlers.
417
418 2004-05-24  Ed Schonberg  <schonberg@gnat.com>
419
420         * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
421         enclosing dynamic scope if the instantiation is within a generic unit.
422
423 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
424
425         * exp_dbug.ads: Fix typo.
426
427         * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
428         Rename it to its proper name: system-linux-ia64.ads
429         (stamp-gnatlib1): Remove extra target specific run time files when
430         setting up the rts directory.
431
432 2004-05-24  Javier Miranda  <miranda@gnat.com>
433
434         * einfo.ads, einfo.adb (Limited_Views): Removed.
435         (Limited_View): New attribute that replaces the previous one. It is
436         now a bona fide package with the limited-view list through the
437         first_entity and first_private attributes.
438
439         * sem_ch10.adb (Install_Private_With_Clauses): Give support to
440         limited-private-with clause.
441         (Install_Limited_Withed_Unit): Install the private declarations of a
442         limited-private-withed package. Update the installation of the shadow
443         entities according to the new structure (see Build_Limited_Views)
444         (Build_Limited_Views): Replace the previous implementation of the
445         limited view by a package entity that references the first shadow
446         entity plus the first shadow private entity (required for limited-
447         private-with clause)
448         (New_Internal_Shadow_Entity): Code cleanup.
449         (Remove_Limited_With_Clause): Update the implementation to undo the
450         new work carried out by Build_Limited_Views.
451         (Build_Chain): Complete documentation.
452         Replace Ada0Y by Ada 0Y in comments
453         Minor reformating
454
455         * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
456         types the level of accessibility depends on the enclosing type
457         declaration.
458
459         * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
460         entities. Complete documentation of previous change.
461
462 2004-05-24  Robert Dewar  <dewar@gnat.com>
463
464         * namet.adb: Minor reformatting
465         Avoid use of name I (replace by J)
466         Minor code restructuring
467
468         * sem_ch6.adb: Minor reformatting
469
470         * lib-writ.adb: Do not set restriction as active if this is a
471         Restriction_Warning case.
472
473         * sem_prag.adb: Reset restriction warning flag if real pragma
474         restriction encountered.
475
476         * s-htable.adb: Minor reformatting
477         Change rotate count to 3 in Hash (improves hash for small strings)
478
479         * 5qsystem.ads: Add comments for type Address (no literals allowed).
480
481         * gnat_ugn.texi: Add new section of documentation "Code Generation
482         Control", which describes the use of -m switches.
483
484 2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
485
486         trans.c (tree_transform) <N_Identifier>: Do the dereference directly
487         through the DECL_INITIAL for renamed variables.
488
489 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
490
491         * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
492
493 2004-05-19  Joel Brobecker  <brobecker@gnat.com>
494
495         * exp_dbug.ads: Correct comments concerning handling of overloading,
496         since we no longer use $ anymore.
497
498 2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
499
500         * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
501         ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
502         with illegal subunits.
503
504 2004-05-19  Ed Schonberg  <schonberg@gnat.com>
505
506         * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
507         body with front-end inlining enabled, check whether an inline pragma
508         appears immediately after the body and applies to it.
509
510         * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
511         enabled and the pragma appears after the body of the subprogram.
512
513 2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
514
515         Part of function-at-a-time conversion
516
517         * misc.c (adjust_decl_rtl): Deleted.
518         (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
519         Define.
520
521         * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
522         (add_decl_stmt, add_stmt, block_has_vars): New functions.
523         (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
524
525         * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
526         when making a decl.
527         (gnat_to_gnu_entity): Likewise.
528         Use add_stmt to update setjmp buffer.
529         Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
530         flush_addressof.
531         No longer call adjust_decl_rtl.
532         (DECL_INIT_BY_ASSIGN_P): New macro.
533         (DECL_STMT_VAR): Likewise.
534
535         * trans.c (gigi): Call start_block_stmt to make the outermost
536         BLOCK_STMT.
537         (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
538         Call start_block_stmt and end_block_stmt temporarily.
539         Use gnat_expand_stmt instead of expand_expr_stmt.
540         (add_decl_stmt): New function.
541         (tree_transform): Call it.
542         (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
543         (end_block_stmt): Set type and NULL_STMT.
544         (gnat_expand_stmt): Make recursize call instead of calling
545         expand_expr_stmt.
546         (gnat_expand_stmt, case DECL_STMT): New case.
547         (set_lineno_from_sloc): Do nothing if global.
548         (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
549         (start_block_stmt, add_stmt, end_block_stmt): New functions.
550         (build_block_stmt): Call them.
551         (gnat_to_code): Don't expand NULL_STMT.
552         (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
553         args.
554         (tree_transform): Likewise.
555         (tree_transform, case N_Null_Statement): Return NULL_STMT.
556         (gnat_expand_stmt, case NULL_STMT): New case.
557         (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
558         IF_STMT_TRUE.
559
560         * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
561         TREE_ADDRESSABLE.
562
563         * utils.c (create_var_decl): Do not call expand_decl or
564         expand_decl_init.
565         Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
566         Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
567         here.
568         (struct e_stack): Add chain_next to GTY.
569         (struct binding_level): Deleted.
570         (struct ada_binding_level): New struct.
571         (free_block_chain): New.
572         (global_binding_level, clear_binding_level): Deleted.
573         (global_bindings_p): Rework to see if no chain.
574         (kept_level_p, set_block): Deleted.
575         (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
576         new data structure and work directly on BLOCK node.
577         (gnat_poplevel): Similarly.
578         (get_decls): Look at BLOCK_VARS.
579         (insert_block): Work directly on BLOCK node.
580         (block_has_var): New function.
581         (pushdecl): Rework for new binding structures.
582         (gnat_init_decl_processing): Rename and rework calls to pushlevel and
583         poplevel.
584         (build_subprog_body): Likewise.
585         (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
586
587         * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
588
589         * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
590         (DECL_STMT_VAR): Likewise.
591
592 2004-05-17  Robert Dewar  <dewar@gnat.com>
593
594         * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
595         procedure
596
597         * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
598         of restriction synonyums by using
599         Restrict.Process_Restriction_Synonyms.
600
601         * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
602
603         * s-restri.ads (Tasking_Allowed): Correct missing comment
604
605         * s-rident.ads: Add entries for restriction synonyms
606
607         * ali.adb: Fix some problems with badly formatted ALI files that can
608         result in infinite loops.
609
610         * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
611         s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
612         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
613         s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
614         s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
615         s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
616         s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
617         s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
618         s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
619         a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
620         exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
621         s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
622         s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
623         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
624         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
625         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
626         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
627         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
628         s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
629         s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
630         to Task_Id (minor cleanup).
631
632 2004-05-17  Vincent Celier  <celier@gnat.com>
633
634         * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
635         directory separator.
636
637         * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
638         project being extended, if Languages is not declared in extending
639         project.
640
641 2004-05-17  Javier Miranda  <miranda@gnat.com>
642
643         * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
644         limited view of a visible sibling.
645
646 2004-05-14  Robert Dewar  <dewar@gnat.com>
647
648         * gnat_ugn.texi: Minor change to -gnatS documentation
649
650         * sprint.adb: Remove some instances of Assert (False) and for this
651         purpose replace them by output of a ??? string.
652
653         * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
654         Assert (False).
655
656         * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
657         flag processing. This was suppressing required dependencies in
658         No_Run_Time mode and is not needed since the binder does not generate
659         references for things in libgnat anyway.
660
661         * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
662         warning.
663
664 2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
665
666         * gnat_ugn.texi: Document AIX-specific issue with initialization of
667         resolver library.
668
669         * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
670         action for the case of an actual parameter in an init proc call.
671
672 2004-05-14  Ed Schonberg  <schonberg@gnat.com>
673
674         * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
675         subtype, check visible entities in base type.
676
677         * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
678         actions if the object is a renaming.
679
680         * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
681         Check_Formal_Package_Instance, to determine more precisely when the
682         formal and the actual denote the same entity.
683
684 2004-05-14  Javier Miranda  <miranda@gnat.com>
685
686         * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
687
688         * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
689         corresponding to a private_with must be removed from visibility; it
690         will be made visible later, just before we analyze the private part of
691         the package.
692         (Check_Private_Child_Unit): Allow private_with clauses in public
693         siblings.
694         (Install_Siblings): Make visible the private entities of private-withed
695         siblings.
696         (Install_Withed_Unit): Do not install the private withed unit if we
697         are compiling a package declaration and the Private_With_OK flag was
698         not set by the caller. These declarations will be installed later,
699         just before we analyze the private part of the package.
700
701         * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
702         during the evaluation of the expression that initializes the object,
703         decorate it with the expected type to avoid cascade errors.
704         Code cleanup.
705
706         * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
707         subprogram we have to install the private_with clauses after its
708         specification has been analyzed (as documented in AI-262.TXT).
709
710         * sem_ch8.adb (Has_Private_With): New function. Determines if the
711         current compilation unit has a private with on a given entity.
712         (Find_Direct_Name): Detect the Beaujolais problem described in
713         AI-262.TXT
714
715         * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
716         provides the functionality of the function Is_Ancestor that was
717         previously available in sem_ch10. It has been renamed to avoid
718         overloading.
719
720         * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
721
722 2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
723
724         * utils.c (build_vms_descriptor): Use SImode pointers.
725
726 2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
727
728         * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
729
730 2004-05-14  GNAT Script  <nobody@gnat.com>
731
732         * Make-lang.in: Makefile automatically updated
733
734 2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
735
736         Renaming of target specific files for clarity
737
738         * Makefile.in: Rename GNAT target specific files.
739
740         * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
741         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
742         3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
743         3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
744         3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
745         3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
746         42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
747         4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
748         4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
749         4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
750         4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
751         4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
752         51osinte.adb, 51osinte.ads, 51system.ads,
753         52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
754         55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
755         56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
756         56tpopsp.adb, 57system.ads, 58system.ads,
757         5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
758         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
759         5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
760         5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
761         5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
762         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
763         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
764         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
765         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
766         5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
767         5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
768         5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
769         5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
770         5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
771         5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
772         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
773         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
774         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
775         5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
776         5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
777         5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
778         5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
779         5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
780         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
781         5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
782         5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
783         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
784         5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
785         5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
786         5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
787         5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
788         5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
789         5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
790         5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
791         5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
792         5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
793         7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
794         7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
795         7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
796         7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
797
798         * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
799         a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
800         a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
801         a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
802         a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
803         a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
804         a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
805         a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
806         a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
807         a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
808         g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
809         g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
810         g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
811         g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
812         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
813         g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
814         g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
815         g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
816         interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
817         mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
818         mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
819         mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
820         s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
821         s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
822         s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
823         s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
824         s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
825         s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
826         s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
827         s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
828         s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
829         s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
830         s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
831         s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
832         s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
833         s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
834         s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
835         s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
836         s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
837         s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
838         s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
839         s-osinte-vms.ads, s-osinte-vxworks.adb,
840         s-osinte-vxworks.ads, s-osprim-mingw.adb,
841         s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
842         s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
843         s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
844         s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
845         s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
846         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
847         s-stchop-vxworks.adb, s-taprop-dummy.adb,
848         s-taprop-hpux-dce.adb, s-taprop-irix.adb,
849         s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
850         s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
851         s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
852         s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
853         s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
854         s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
855         s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
856         s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
857         s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
858         s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
859         s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
860         s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
861         s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
862         s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
863         s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
864         s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
865         s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
866         symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
867         system-hpux.ads, system-interix.ads, system-irix-n32.ads,
868         system-irix-o32.ads, system-linux-x86_64.ads,
869         system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
870         system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
871         system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
872         system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
873         system-vxworks-alpha.ads, system-vxworks-m68k.ads,
874         system-vxworks-mips.ads, system-vxworks-ppc.ads,
875         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
876         above.
877
878 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
879
880         * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
881
882 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
883
884         Merge from tree-ssa-20020619-branch.
885
886         * config-lang.in (boot_language, build_by_default): Set
887         to no.
888         * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
889         (max_size): Add static chain op for call_expr.
890
891 2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
892
893         PR target/15331
894         * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
895
896 2004-05-11  Roger Sayle  <roger@eyesopen.com>
897
898         * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
899         COND_EXPR.
900
901 2004-05-10  Doug Rupp  <rupp@gnat.com>
902
903         * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
904         system.aux_dec.
905
906         * s-auxdec.ads: Add Short_Address subtype (moved here from System).
907
908         * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
909
910         * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
911         Fixes undefined symbols in IA64 gnatlib.
912
913         * 5vinmaop.adb: Reference s-auxdec for Short_Address.
914
915         * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
916         Short_Address). This will be moved to system.auxdec.
917
918 2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
919
920         * sem_util.adb: Replace test for presence of a node that is always
921         present with a call to Discard_Node.
922
923         * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
924         Analyze on the library unit node after generation of distribution stub
925         constructs.  The call was a no-op because Unit_Node has already been
926         Analyzed, and the tree fragments for the distribution stubs are
927         analyzed as they are inserted in Exp_Dist.
928         Update comment regarding to distribution stubs to reflect that we
929         do not generate stub in separate files anymore.
930
931         * einfo.ads: Clarify the fact that a tagged private type has the
932         E_Record_Type_With_Private Ekind.
933
934         * erroutc.adb: Minor reformatting
935
936         * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
937         values if line length is increased using -gnatyM (noticed during code
938         reading).
939
940         * eval_fat.adb: Minor reformatting
941         Put spaces around exponentiation operator
942
943 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
944
945         PR ada/15005
946         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
947         has been rewritten as an explicit dereference, retrieve type of
948         original node to check for possibly unconstrained record type.
949
950 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
951
952         * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
953         overriding, use the operation of the parent unconditionally.
954
955         * sem_ch4.adb (Remove_Address_Interpretations): Remove address
956         operation when either operand is a literal, to avoid further
957         ambiguities.
958
959         * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
960         overridden by a previous explicit declaration, mark the previous entity
961         as overriding.
962
963         * sem_disp.adb (Check_Dispatching_Operation): New predicate
964         Is_Visibly_Controlled, to determine whether a declaration of a
965         primitive control operation for a derived type overrides an inherited
966         one. Add warning if the explicit declaration does not override.
967
968 2004-05-10  Vincent Celier  <celier@gnat.com>
969
970         * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
971         some cases when the sources are no longer present.
972
973         * make.adb (Collect_Arguments): Fail if an external source, not part
974         of any project need to be compiled, when switch -x has not been
975         specified.
976
977         * makeusg.adb: Document new switch -x
978
979         * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
980         defaulted to False.
981
982         * switch-m.adb (Scan_Make_Switches): New switch -x
983
984         * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
985         gnatmake switch -x.
986
987         * gnat_ugn.texi: Document new gnatmake switch -x
988
989 2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
990
991         * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
992
993         * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
994         (process_attributes): Likewise.
995
996 2004-05-10  Joel Brobecker  <brobecker@gnat.com>
997
998         * s-inmaop.ads: Fix spelling mistake in one of the comments.
999
1000 2004-05-10  Robert Dewar  <dewar@gnat.com>
1001
1002         * gnat_ugn.texi: Document that for config pragma files, the maximum
1003         line length is always 32767.
1004
1005         * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
1006         literals is now allowed.
1007
1008         * gnat-style.texi: Remove statement about splitting long lines before
1009         an operator rather than after, since we do not follow this rule at all.
1010         Clarify rule (really lack of rule) for spaces around exponentiation
1011
1012         * sem_elim.adb: Allow concatenation of string literals as well as a
1013         single string literal for pragma arguments.
1014
1015         * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
1016
1017         * a-textio.adb (Terminate_Line): Do not add line feed if nothing
1018         written for append case.
1019
1020         * frontend.adb: Changes to avoid checking max line length in config
1021         pragma files.
1022
1023         * g-os_lib.ads: Minor reformatting
1024
1025         * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
1026         wrong in any case. Instead use standard value. Noticed during code
1027         reading.
1028
1029         * opt.ads (Max_Line_Length): New field, used to implement removal of
1030         limitation on length of lines when scanning config pragma files.
1031
1032         * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
1033         makeutl.ads, makeutl.adb: Minor reformatting
1034
1035         * scn.adb: Do not check line length while scanning config pragma files
1036         Do not check line length while scanning out license information
1037
1038         * scng.adb: Changes to avoid line length checks while parsing config
1039         pragma files.
1040
1041 2004-05-10  GNAT Script  <nobody@gnat.com>
1042
1043         * Make-lang.in: Makefile automatically updated
1044
1045 2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
1046
1047         * osint.adb (Find_Program_Name): Fix handling of VMS version
1048         number.
1049
1050 2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
1051
1052         * g-os_lib.ads (Invalid_Time): New constant
1053
1054         * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
1055         return OS_Time instead of time_t to match what is imported by Ada.
1056         Now return -1 if the file doesn't exist, instead of a random value
1057
1058 2004-05-05  Robert Dewar  <dewar@gnat.com>
1059
1060         * usage.adb: Add line for -gnatR?s switch
1061
1062         * sem_ch13.adb, exp_ch2.adb: Minor reformatting
1063
1064         * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
1065         and for Match (Data_First, Data_last)
1066
1067         * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
1068         written when we are dealing with multi-unit files.
1069
1070 2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
1071
1072         * Makefile.in: Remove unused targets and variables.
1073
1074 2004-05-05  Vincent Celier  <celier@gnat.com>
1075
1076         * switch-m.adb: New gnatmake switch -eI
1077
1078         * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
1079         of new gnatmake switch -eInnn.
1080
1081         * makegpr.adb: Take into account new parameters Index and Src_Index in
1082         Prj.Util.
1083
1084         * clean.adb: Implement support for multi-unit sources, including new
1085         switch -i.
1086
1087         * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
1088         Src_Index.
1089
1090         * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
1091         (Extract_From_Q): New out parameter Index
1092         (Mark, Is_Marked): Subprograms moved to Makeutl
1093         (Switches_Of): New parameter Source_Index
1094         (Add_Switch): New parameter Index
1095         (Check): New parameter Source_Index
1096         (Collect_Arguments): New parameter Source_Index
1097         (Collect_Arguments_And_Compile): New parameter Source_Index
1098         (Compile): New parameter Source_Index
1099         Put subprograms in alphabetical order
1100         Add support for multi-source sources, including in project files.
1101
1102         * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
1103         (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
1104         Make.
1105
1106         * makeusg.adb: New gnatmake switch -eInnn
1107
1108         * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
1109         Prj.Util.Value_Of.
1110
1111         * opt.ads (Main_Index): New variable, defaulted to 0.
1112
1113         * osint.ads, osinte.adb (Add_File): New parameter Index
1114         (Current_Source_Index): New function
1115
1116         * prj.adb: Take into account new components Index and Src_Index
1117
1118         * prj.ads (String_Element): New component Index
1119         (Variable_Value): New component Index
1120         (Array_Element): New component Src_Index
1121
1122         * prj-attr.adb: Indicate that optional index may be specified for
1123         attributes Main, Executable, Spec, Body and some of Switches.
1124
1125         * prj-attr.ads (Attribute_Kind): New values for optional indexes
1126         (Attribute_Record): New component Optional_Index
1127
1128         * prj-com.ads (File_Name_Data): New component Index
1129
1130         * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
1131
1132         * prj-env.adb (Put): Output optional index
1133
1134         * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
1135         attributes Spec and Body.
1136
1137         * prj-nmsc.adb: Process optional indexes
1138
1139         * prj-pp.adb: Ouput "at" for optional indexes
1140
1141         * prj-proc.adb: Take into account optional indexes
1142
1143         * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
1144         Optional_Index. For string literal,
1145         process optional index when Optional_Index is True.
1146         (Parse_Expresion): New Boolean parameter Optional_Index
1147
1148         * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
1149         (Set_Source_Index_Of): New procedure
1150
1151         * prj-util.adb (Executable_Of, Value_Of): Take into account optional
1152         index.
1153
1154         * prj-util.ads (Executable_Of): New parameter Index
1155         (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
1156         New parameter Src_Index, defaulted to 0.
1157
1158 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
1159
1160         PR ada/15257
1161         * sem_ch3.adb (Access_Definition): If this is an access parameter
1162         whose designated type is imported through a limited_with clause, do
1163         not add the enclosing subprogram to the list of private dependents of
1164         the type.
1165
1166 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
1167
1168         PR ada/15258
1169         * sem_ch6.adb (Base_Types_Match): True if one type is imported through
1170         a limited_with clause, and the other is its non-limited view.
1171
1172 2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
1173
1174         * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
1175
1176         * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
1177         exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
1178         Stand.Boolean_Literals to produce references to entities
1179         Standard_False and Standard_True from compile-time computed boolean
1180         values.
1181
1182         * stand.ads (Boolean_Literals): New variable, provides the entity
1183         values for False and True, for use by the expander.
1184
1185 2004-05-05  Doug Rupp  <rupp@gnat.com>
1186
1187         * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
1188         5vinmaop.adb: Unchecked convert Short_Address vice Address
1189
1190         * adaint.c, raise.c: Caste CRTL function return value
1191         to avoid gcc error on 32/64 bit IVMS.
1192
1193         * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
1194         target = IA64/VMS.
1195
1196         * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
1197
1198         * 5qsystem.ads (Address): Declare as Long_Integer
1199         (Short_Address): Declare as 32 bit subtype of Address
1200         Declare  abstract address operations to avoid gratuitous ambiguities.
1201
1202 2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
1203
1204         * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
1205         instead of the old Boolean_Entry_Barriers.
1206         Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
1207
1208 2004-05-05  GNAT Script  <nobody@gnat.com>
1209
1210         * Make-lang.in: Makefile automatically updated
1211
1212 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
1213
1214         * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
1215
1216 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
1217
1218         PR ada/15152
1219
1220         * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
1221         alone. Replacing object references by literals is inappropriate in a
1222         so low level context.
1223
1224 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
1225
1226         * a-exexpr.adb: Add comments
1227
1228 2004-05-03  Joel Brobecker  <brobecker@gnat.com>
1229
1230         * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
1231         declare the Ancestor_Tags array in Type_Specific_Data with a small size
1232         without risking a bounds check error when accessing one of its
1233         components.
1234         (Type_Specific_Data): Define Ancestor_Tags as a small array.
1235         This prevents us from hitting a limitation during the debug info
1236         generation when using stabs.
1237
1238         * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
1239         small array.
1240         This prevents us from hitting a limitation during the debug info
1241         generation when using stabs.
1242
1243 2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
1244
1245         lang-specs.h: Remove -gnatz* from specs.
1246
1247 2004-05-03  Vincent Celier  <celier@gnat.com>
1248
1249         * gprmake.adb, makegpr.ads, makegpr.adb: New files.
1250
1251         * Make-lang.in, Makefile.in: Add gprmake
1252
1253 2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
1254
1255         * sem_aggr.adb: Fix typo in comment.
1256
1257 2004-05-03  Robert Dewar  <dewar@gnat.com>
1258
1259         * make.adb: Minor reformatting
1260
1261         * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
1262
1263         * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
1264         so that it works when address is not a private type.
1265
1266         * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
1267         properly with rewritten unchecked conversions. This prevents
1268         order-of-elaboration issues that can otherwise arise.
1269         (Minimum_Size): Don't check size of access types under VMS
1270
1271         * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
1272         interpretations of integer literals as type System.Address.
1273
1274         * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
1275         (Is_Descendent_Of): New function
1276
1277 2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
1278
1279         * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
1280         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
1281         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
1282
1283         * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
1284         of the old Max_Entry_Queue_Depth.
1285
1286         * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
1287         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
1288         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
1289
1290         * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
1291         New entry for proper handling of Max_Entry_Queue_Depth.
1292         New entry for proper handling of No_Dynamic_Interrupts.
1293
1294         * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
1295         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
1296         Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
1297         the GNAT specific restriction Max_Entry_Queue_Depth.
1298         Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
1299         the GNAT specific restriction No_Dynamic_Interrupts.
1300
1301         * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
1302         instead of the old Boolean_Entry_Barriers.
1303         Use the new restriction No_Dynamic_Attachment instead of the old
1304         No_Dynamic_Interrupts.
1305
1306         * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
1307         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
1308
1309         * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
1310         of the old Max_Entry_Queue_Depth.
1311
1312 2004-05-03  GNAT Script  <nobody@gnat.com>
1313
1314         * Make-lang.in: Makefile automatically updated
1315
1316 2004-04-29  Ed Schonberg  <schonberg@gnat.com>
1317
1318         * checks.adb (Enable_Range_Check): If the prefix of an index component
1319         is an access to an unconstrained array, perform check unconditionally.
1320
1321 2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1322
1323         * decl.c (gnat_to_gnu_field): Also call make_packable_type if
1324         Component_Clause.
1325
1326 2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
1327
1328         * init.c (__gnat_install_handler, __gnat_error_handler): Remove
1329         alternate stack setting. There was no support for the tasking cases
1330         and the changes eventually caused a number of side-effect failures in
1331         the non-tasking case too.
1332
1333 2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
1334
1335         lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
1336         -gnats is passed.
1337
1338 2004-04-29  Vincent Celier  <celier@gnat.com>
1339
1340         * make.adb (Gnatmake): Increase max size of argument array for
1341         gnatbind for the potential addition of -F.
1342         If there are Stand-Alone Library projects, invoke gnatbind with -F to
1343         be sure that elaboration flags will be checked.
1344
1345         * switch-c.adb: Correct call to Scan_Pos for -gnateI
1346
1347 2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
1348
1349         * sem_warn.adb (Check_References): Move '<access-variable> may be
1350         null' warning out of under Warn_On_No_Value_Assigned.
1351
1352 2004-04-29  Ed Falis  <falis@gnat.com>
1353
1354         * gnat_ugn.texi: Fixed texi error
1355
1356 2004-04-29  Robert Dewar  <dewar@gnat.com>
1357
1358         * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
1359         abstract operations if they come from predefined files.
1360
1361         * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
1362         Dynamic, not RM).
1363
1364         * s-addope.adb: Correct obvious error in mod function
1365
1366 2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
1367
1368         * Makefile.in: Add target pairs for powerpc darwin*
1369         tasking support.
1370
1371         * a-intnam-darwin.ads, s-osinte-darwin.adb,
1372         s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
1373
1374 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
1375
1376         * Makefile.in: Add target macro definitions for s390*-linux*.
1377         * system-linux-s390.ads: New file.
1378         * system-linux-s390x.ads: New file.
1379
1380 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
1381
1382         * gnat_ugn.texi: Correct argument to @setfilename.
1383
1384 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
1385
1386         * a-exexpr.adb (Unwind_Word): New data type.
1387         (Unwind_Exception): Use it as type of Private1 and Private2.
1388
1389         * raise.c (db_action_for): Fix debug printf.
1390
1391 2004-04-27  Ed Schonberg  <schonberg@gnat.com>
1392
1393         * a-wtmoio.ads: Formal type must be a modular type, not a signed
1394         integer type.
1395
1396 2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1397
1398         * decl.c (gnat_to_gnu_entity, case object): Call
1399         __builtin_update_setjmp_buf.
1400
1401         * gigi.h (update_setjmp_buf): Deleted.
1402         (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
1403
1404         * misc.c: (update_setjmp_buf): Deleted.
1405
1406         * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
1407         around block of RTL.
1408
1409         * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
1410
1411 2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
1412
1413         * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
1414         subprogram for which no pragma All_Calls_Remote applies, store the
1415         address of the real subprogram in the underlying record type, so local
1416         dereferences do not go through the PCS.
1417
1418 2004-04-26  Robert Dewar  <dewar@gnat.com>
1419
1420         * i-c.ads: Add some type qualifications to avoid ambiguities when
1421         compiling with s-auxdec.ads and a non-private address type.
1422
1423 2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
1424
1425         * Makefile.rtl: Fix error in previous check-in:
1426         Add s-addope.o to non tasking object list (rather than tasking object
1427         list).
1428
1429 2004-04-26  Javier Miranda  <miranda@gnat.com>
1430
1431         * sem_aggr.adb: Fix typo in comments
1432         (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
1433         Required to check the null-exclusion attribute.
1434
1435         * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
1436         case of anonymous access types in record and array components. For a
1437         component definition the level is the same of the enclosing composite
1438         type.
1439
1440         * sem_ch3.adb (Analyze_Component_Declaration): In case of components
1441         that are anonymous access types the level of accessibility depends on
1442         the enclosing type declaration. In order to have this information, set
1443         the scope of the anonymous access type to the enclosing record type
1444         declaration.
1445         (Array_Type_Declaration): In case of components that are anonymous
1446         access types the level of accessibility depends on the enclosing type
1447         declaration. In order to have this information, set the scope of the
1448         anonymous access type to the enclosing array type declaration.
1449
1450         * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
1451         access type.
1452
1453         * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
1454         renaming of anonymous access-to-constant types allowed if and only if
1455         the renamed object is access-to-constant.
1456
1457         * sem_util.adb (Type_Access_Level): In case of anonymous access types
1458         that are component_definition or discriminants of a nonlimited type,
1459         the level is the same as that of the enclosing component type.
1460
1461 2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
1462
1463         * sem_elim.adb: Some minor code reorganization from code reading. Fix
1464         misprint in the function name (File_Name_Match).
1465
1466 2004-04-23  Laurent GUERBY <laurent@guerby.net>
1467
1468         * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
1469         install.
1470
1471 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1472
1473         * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
1474
1475 2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
1476
1477         * adaint.c (__gnat_try_lock): No longer requires that the parent
1478         directory be writable, the directory itself is enough.
1479         (gnat_is_absolute_path): Change profile, so that the call from
1480         GNAT.OS_Lib can be made more efficient.
1481
1482         * adaint.h (gnat_is_absolute_path): Change profile, so that the call
1483         from GNAT.OS_Lib can be made more efficient.
1484
1485         * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
1486         one copy of the file name. Found by code reading.
1487
1488 2004-04-23  Vincent Celier  <celier@gnat.com>
1489
1490         * gnat_ugn.texi: Add documentation for gnatmake switch -eL
1491         Correct documentation on gnatmake switches transmitted to the compiler
1492
1493         * ali.ads: Minor comment fix
1494
1495 2004-04-23  Javier Miranda  <miranda@gnat.com>
1496
1497         * sem_ch6.adb: (Confirming Types): Code cleanup
1498
1499         * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
1500         subprogram types: E_Anonymous_Access_Subprogram_Type and
1501         E_Anonymous_Access_Protected_Subprogram_Type.
1502
1503 2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
1504
1505         * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
1506         whether a pragma All_Calls_Remote applies to the subprogram on which
1507         'Access is taken.
1508         No functional change is introduced by this revision; the new parameter
1509         will be used to allow calls to local RCI subprograms to be optimized
1510         to not use the PCS in the case where no pragma All_Calls_Remote applies,
1511         as is already done in the PolyORB implementation of the DSA.
1512
1513         * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
1514         whether a pragma All_Calls_Remote applies to the subprogram on which
1515         'Access is taken.
1516         No functional change is introduced by this revision; the new parameter
1517         will be used to allow calls to local RCI subprograms to be optimized
1518         to not use the PCS in the case where no pragma All_Calls_Remote applies,
1519         as is already done in the PolyORB implementation of the DSA.
1520
1521 2004-04-23  Robert Dewar  <dewar@gnat.com>
1522
1523         * Makefile.rtl: Add entry for s-addope.o in run time library list
1524         * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
1525         * s-addope.ads, s-addope.adb: New files.
1526
1527         * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
1528         s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
1529         s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
1530         System.Address to be non-private and signed.
1531
1532         * sem_elim.adb: Minor reformatting (fairly extensive)
1533         Some minor code reorganization from code reading
1534         Add a couple of ??? comments
1535
1536 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1537
1538         * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
1539         (tree_transform, case N_If_Statement): Remove non-determinism.
1540
1541         * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
1542
1543 2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
1544
1545         * gnat_rm.texi: Small fixes in the changes made in the 'pragma
1546         Eliminate' section.
1547
1548         * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
1549         no longer used as a parameter name for Eliminate pragma).
1550
1551 2004-04-22  Laurent GUERBY <laurent@guerby.net>
1552
1553         PR optimization/14984
1554         PR optimization/14985
1555         * trans.c (gigi): Fix non determinism leading to bootstrap
1556         comparison failures.
1557
1558 2004-04-21  Pascal Obry  <obry@gnat.com>
1559
1560         * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
1561         passed to spawnvp() to properly handle program pathname with spaces on
1562         Win32.
1563
1564 2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
1565
1566         * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
1567         (Allocate, Deallocate, Free_Physically): Make sure the tasks are
1568         unlocked in case of exceptions.
1569
1570 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
1571
1572         * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
1573         This function does not exist anymore.
1574
1575 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
1576
1577         * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
1578
1579         * link.c: Move variables to the __gnat name space.
1580
1581         * Makefile.in: list link.o explicitly when needed.
1582
1583         * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
1584
1585 2004-04-21  Javier Miranda  <miranda@gnat.com>
1586
1587         * einfo.adb (Original_Access_Type): New subprogram
1588         (Set_Original_Access_Type): New subprogram
1589         (Write_Field21_Name): Write the name of the new field
1590
1591         * einfo.ads (Original_Access_Type): New field present in access to
1592         subprogram types.
1593         Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
1594         E_Anonymous_Access_Protected_Subprogram_Type.
1595
1596         * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
1597         subprogram types.
1598
1599         * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
1600         to anonymous access to subprogram types.
1601
1602         * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
1603         to subprogram types.
1604
1605         * sem_ch3.adb (Access_Definition): Complete decoration of entities
1606         corresponding to anonymous access to subprogram types.
1607         (Analyze_Component_Declaration): Add new actual to the call to
1608         subprogram replace_anonymous_access_to_protected_subprogram.
1609         (Array_Type_Declaration): Add new actual to the call to subprogram
1610         replace_anonymous_access_to_protected_subprogram.
1611         (Process_Discriminants): Add new actual to the call to subprogram
1612         replace_anonymous_access_to_protected_subprogram.
1613         (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
1614
1615         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
1616         formal.
1617
1618         * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
1619         access to subprogram types.
1620
1621         * sem_util.adb (Has_Declarations): Addition of package_specification
1622         nodes.
1623
1624 2004-04-21  Ed Schonberg  <schonberg@gnat.com>
1625
1626         * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
1627         inlined flags to renamed entity only if in current unit.
1628
1629 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
1630
1631         * s-parint.ads: Add DSA implementation marker.
1632
1633         * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
1634         value of System.Partition_Interface.DSA_Implementation to determine
1635         what version of the distributed systems annex is available (no
1636         implementation, GLADE, or PolyORB).
1637
1638 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
1639
1640         * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
1641
1642 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1643
1644         * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
1645         with new type if alias sets differ.
1646         Fixes ACATS c41103b.
1647
1648 2004-04-21  Vincent Celier  <celier@gnat.com>
1649
1650         * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
1651         Add array Lang_Args for the language specific compiling argument
1652         switches.
1653
1654         * gnat_ugn.texi: Explain in more details when a library is rebuilt.
1655
1656 2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
1657
1658         * gnat_rm.texi: Update the descripton of the Eliminate pragma
1659         according to the recent changes in the format of the parameters of the
1660         pragma (replacing Homonym_Number with Source_Location).
1661
1662 2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
1663
1664         * 5isystem.ads: Removed, unused.
1665
1666         * gnat_rm.texi: Redo 1.13 change.
1667
1668 2004-04-19  Robert Dewar  <dewar@gnat.com>
1669
1670         * s-stoele.ads: Clean up definition of Storage_Offset (the new
1671         definition is cleaner, avoids the kludge of explicit Standard operator
1672         references, and also is consistent with a visible System.Address with
1673         no visible operations.
1674
1675         * s-geveop.adb: Add declarations to avoid assumption of visible
1676         operations on type System.Address (since these might not be available
1677         if Address is a non-private type for which the operations
1678         are made abstract).
1679
1680         * sem_eval.adb: Minor reformatting
1681
1682         * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
1683         s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
1684         reformatting (new function spec format).
1685
1686         * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
1687         s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
1688         s-caun64.adb: Add declarations to avoid assumption of visible
1689         operations on type System.Address (since these might not be available
1690         if Address is a non-private type for which the operations are made
1691         abstract).
1692
1693         * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
1694
1695         * exp_intr.adb: Minor comment update
1696
1697         * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
1698
1699         * 5omastop.adb: Add declarations to avoid assumption of visible
1700         operations on type System.Address (since these might not be available
1701         if Address is a non-private type for which the operations
1702         are made abstract).
1703
1704 2004-04-19  Vincent Celier  <celier@gnat.com>
1705
1706         * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
1707
1708         * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
1709         defaulted to Ada.
1710
1711         * prj-proc.adb (Process): New Boolean parameter Process_Languages,
1712         defaulted to Ada.
1713         Call Check with Process_Languages.
1714         (Check): New Boolean parameter Process_Languages. Call Recursive_Check
1715         with Process_Languages.
1716         (Recursive_Check): New Boolean parameter Process_Languages. Call
1717         Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
1718         Process_Languages.
1719
1720         * prj-proc.ads (Process): New Boolean parameter Process_Languages,
1721
1722         * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
1723         parameter Ada_Main, defaulted to True.
1724         Check for Ada specific characteristics only when Ada_Main is True.
1725
1726         * opt.ads: (Follow_Links): New Boolean flag for gnatmake
1727
1728         * prj.adb: (Project_Empty): Add new Project_Data components.
1729
1730         * prj.ads: New types and tables for non Ada languages.
1731         (Project_Data): New components Languages, Impl_Suffixes,
1732         First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
1733         Include_Path, Include_Data_Set.
1734
1735         * prj-env.ads, prj-env.adb: Minor reformatting
1736
1737         * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
1738         Put subprograms in alphabetical order
1739
1740         * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
1741         defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
1742         Opt.Follow_Links.
1743
1744         * mlib-prj.adb: Back out modification in last version, as they are
1745         incorrect.
1746         (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
1747
1748         * make.adb: (Mains): Moved to package Makeutl
1749         (Linker_Opts): Moved to package Makeutl
1750         (Is_External_Assignment): Moved to package Makeutl
1751         (Test_If_Relative_Path): Moved to package Makeutl
1752         (Gnatmake): Move sorting of linker options to function
1753         Makeutl.Linker_Options_Switches.
1754
1755         * makeutl.ads, makeutl.adb: New files.
1756
1757         * Makefile.in: Add makeutl.o to the object files for gnatmake
1758
1759         * makeusg.adb: Add line for new switch -eL.
1760
1761         * gnatls.adb (Image): New function.
1762         (Output_Unit): If in verbose mode, output the list of restrictions
1763         specified by pragmas Restrictions.
1764
1765         * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
1766         Text_IO.
1767
1768         * a-calend.adb (Split): Shift the date by multiple of 56 years, if
1769         needed, to put it in the range 1970 (included) - 2026 (excluded).
1770         (Time_Of): Do not shift Unix_Min_Year (1970).
1771         Shift the date by multiple of 56 years, if needed, to put it in the
1772         range 1970 (included) - 2026 (excluded).
1773
1774         * adaint.h, adaint.c (__gnat_set_executable): New function.
1775
1776 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1777
1778         * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
1779         and pop GC context.
1780         (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
1781         (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
1782         (tree_transform, case N_Procedure_Call_Statement): Build a tree.
1783         (tree_transform, case N_Code_Statement): Likewise.
1784         (gnat_expand_stmt, case LABEL_STMT): Don't look at
1785         LABEL_STMT_FIRST_IN_EH.
1786         (gnat_expand_stmt, case ASM_STMT): New case.
1787
1788         * utils2.c (build_unary_op): Properly set TREE_READONLY of
1789         UNCONSTRAINED_ARRAY_REF.
1790
1791         * utils.c (poplevel): Temporarily push/pop GC context around inline
1792         function expansion.
1793
1794         * decl.c (maybe_variable): Properly set TREE_READONLY of
1795         UNCONSTRAINED_ARRAY_REF.
1796         (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
1797
1798         * ada-tree.def: (ASM_STMT): New.
1799
1800         * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
1801         (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
1802         ASM_STMT_INPUT): New.
1803         (ASM_STMT_CLOBBER): Likewise.
1804
1805 2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
1806
1807         * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
1808         general rcheck mechanism to raise Program_Error for E.4(18), instead
1809         of a custom raiser in System.Partition_Interface.
1810         Part of general cleanup work before PolyORB integration.
1811
1812         * snames.ads, snames.adb: Add new runtime library entities and names
1813         for PolyORB DSA.
1814
1815         * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
1816         exp_dist.
1817         (Build_Subprogram_Id): New subprogram provided by exp_dist
1818         Code reorganisation in preparation for PolyORB integration.
1819
1820         * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
1821         exp_dist.
1822         (Build_Subprogram_Id): New subprogram provided by exp_dist
1823
1824         * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
1825         actual parameter types for call to dereference of an
1826         access-to-subprogram type.
1827
1828         * rtsfind.ads: Add new runtime library entities and names for PolyORB
1829         DSA.
1830
1831         * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
1832         instead, which has the same behaviour here since we never pass it a
1833         NULL pointer.
1834
1835         * link.c (run_path_option, Solaris case): Use -Wl, as for other
1836         platforms.
1837
1838         * Makefile.in: adjust object file lists for gnatlink and gnatmake
1839         to account for new dependency upon Interfaces.C.Strings + link.o
1840         For x86 FreeBSD, use 86numaux.
1841
1842         * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
1843         from Mlib.Tgt to Mlib.
1844
1845         * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
1846         target-independent.
1847
1848         * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
1849         target-specific versions of this subprogram, now implemented as a
1850         target-independent function in Mlib.
1851
1852         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
1853         5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
1854         (Linker_Library_Path_Option): Remove target-specific versions of this
1855         subprogram, now implemented as a target-independent function in Mlib.
1856
1857         * atree.adb: (Allocate_Initialize_Node): New subprogram.
1858         Factors out node table slots allocation.
1859         (Fix_Parents): New subprogram.
1860         Encapsulate the pattern of fixing up parent pointers for syntactic
1861         children of a rewritten node.
1862         (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
1863         (Rewrite): Use New_Copy when creating saved copy of original node.
1864         (Replace): Use Copy_Node to copy nodes.
1865
1866 2004-04-19  Javier Miranda  <miranda@gnat.com>
1867
1868         * sprint.adb (Sprint_Node_Actual): Give support to the new
1869         Access_To_Subprogram node available in Access_Definition nodes. In
1870         addition, give support to the AI-231 node fields: null-exclusion,
1871         all-present, constant-present.
1872
1873         * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
1874
1875         * sinfo.ads, sinfo.adb:
1876         New field Access_To_Subprogram_Definition in Access_Definition nodes
1877
1878         * sem_ch6.adb (Process_Formals): Move here the code that creates and
1879         decorates internal subtype declaration corresponding to the
1880         null-excluding formal. This code was previously in Set_Actual_Subtypes.
1881         In addition, carry out some code cleanup on this code. In case of
1882         access to protected subprogram call
1883         Replace_Anonymous_Access_To_Protected_Subprogram.
1884         (Set_Actual_Subtypes): Code cleanup.
1885
1886         * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
1887         Find_Type in case of anonymous access renamings. Add warning in case of
1888         null-excluding attribute used in anonymous access renaming.
1889
1890         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
1891         subprogram
1892
1893         * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
1894         subprogram.
1895         (Access_Definition): In case of anonymous access to subprograms call
1896         the corresponding semantic routine to decorate the node.
1897         (Access_Subprogram_Declaration): Addition of some comments indicating
1898         some code that probably should be added here. Detected by comparison
1899         with the access_definition subprogram.
1900         (Analyze_Component_Declaration): In case of access to protected
1901         subprogram call Replace_Anonymous_Access_To_Protected.
1902         (Array_Type_Declaration): In case of access to protected subprogram call
1903         Replace_Anonymous_Access_To_Protected_Subprogram.
1904         (Process_Discriminants): In case of access to protected subprogram call
1905         Replace_Anonymous_Access_To_Protected_Subprogram.
1906
1907         * par.adb (P_Access_Definition): New formal that indicates if the
1908         null-exclusion part was present.
1909         (P_Access_Type_Definition): New formal that indicates if the caller has
1910         already parsed the null-excluding part.
1911
1912         * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
1913         (P_Identifier_Declarations): Code cleanup and give support to renamings
1914         of anonymous access to subprogram types.
1915         (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
1916         (P_Array_Type_Definition): Give support to AI-254.
1917         (P_Component_Items): Give support to AI-254.
1918         (P_Access_Definition): New formal that indicates if the header was
1919         already parsed by the caller.
1920         (P_Access_Type_Definition): New formal that indicates if the caller has
1921         already parsed the null-excluding part.
1922
1923         * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
1924         call to P_Access_Definition.
1925
1926 2004-04-19  Geert Bosch  <bosch@gnat.com>
1927
1928         * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
1929         the delicate semantics of floating-point to integer conversion.
1930         (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
1931
1932         * eval_fat.adb (Machine_Mantissa): Moved to spec.
1933         (Machine_Radix): New function.
1934
1935         * eval_fat.ads (Machine_Mantissa): Moved from body for use in
1936         conversion checks.
1937         (Machine_Radix): New function also for use in conversion checks.
1938
1939 2004-04-19  Ed Schonberg  <schonberg@gnat.com>
1940
1941         * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
1942
1943         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
1944         to decorate the access-to-protected subprogram and the equivalent type.
1945
1946         * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
1947         to anonymous access to subprogram types.
1948
1949         * exp_ch4.adb (Expand_N_In): Preserve Static flag before
1950         constant-folding, for legality checks in contexts that require an RM
1951         static expression.
1952
1953         * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
1954         temporary but stack checking is not enabled, increment serial number
1955         to so that symbol generation is consistent with and without stack
1956         checking.
1957
1958         * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
1959         independent on whether stack checking is enabled, caller must check
1960         the corresponding flag.
1961
1962         * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
1963         range checks.
1964         (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
1965         parent if it has discriminants.
1966         (Build_Derived_Private_Type): Constructed full view does
1967         not come from source.
1968         (Process_Discriminants): Default discriminants on a tagged type are
1969         legal if this is the internal completion of a private untagged
1970         derivation.
1971
1972         * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
1973         no constraint checks, because it corresponds to an existing object.
1974
1975         * sem_prag.adb (Process_Convention): Pragma applies
1976         only to subprograms in the same declarative part, i.e. the same unit,
1977         not the same scope.
1978
1979         * sem_res.adb (Valid_Conversion): In an instance or inlined body,
1980         ignore type mismatch on a numeric conversion if expression comes from
1981         expansion.
1982
1983 2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
1984
1985         * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
1986         Homonym_Number parameter, add processing for Source_Location parameter
1987         corresponding.
1988         (Check_Eliminated): Remove the check for homonym numbers, add the check
1989         for source location traces.
1990
1991         * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
1992         with Arg_Source_Location corresponding to the changes in the format of
1993         the pragma.
1994
1995         * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
1996         Eliminate pragma corresponding to the changes in the format of the
1997         pragma: Homonym_Number is replaced with Source_Location, two ways of
1998         distinguishing homonyms are mutially-exclusive.
1999
2000 2004-04-19  Joel Brobecker  <brobecker@gnat.com>
2001
2002         * get_targ.ads (Get_No_Dollar_In_Label): Remove.
2003
2004         * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
2005         No_Dollar_In_Label, no longer necessary, as it is always True.
2006         (Strip_Suffixes): Likewise.
2007
2008 2004-04-19  Gary Dismukes  <dismukes@gnat.com>
2009
2010         * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
2011         modulus for compatibility with size clause on targets with 16-bit
2012         Integer.
2013
2014         * layout.adb (Discrimify): In the case of private types, set Vtyp to
2015         full type to fix type mismatches on calls to size functions for
2016         discriminant-dependent array components.
2017
2018 2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
2019
2020         * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
2021         lib.
2022
2023 2004-04-19  Pascal Obry  <obry@gnat.com>
2024
2025         * mdll-utl.adb (Locate): New version is idempotent.
2026
2027 2004-04-17  Laurent Guerby <laurent@guerby.net>
2028
2029         PR ada/14988 (partial)
2030         * impunit.adb: Fix typo.
2031
2032 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
2033
2034         * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
2035         and install-rts-cert targets.  Remove all gnatlib and gnattools
2036         targets and all other rts-* targets (moved to libada).  Remove (now)
2037         unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
2038         TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
2039
2040 2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2041
2042         * trans.c (tree_transform): Shortcut returning error_mark_node for
2043         statements in annotate_only_mode.
2044         (tree_transform, case N_Label, case N_Return_Statement,
2045         N_Goto_Statement): Make statement tree instead of generating code.
2046         (tree_transform, case N_Assignment_Statement): No longer check
2047         type_annotate_only.
2048         (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
2049         RETURN_STMT): New.
2050         (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
2051         New fcns.
2052         (gnat_to_gnu): Collect any RTL generated and deal with it.
2053         (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
2054         (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
2055         (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
2056
2057         * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
2058
2059         * ada-tree.def (EXPR_STMT): Fix typo in name.
2060         (BLOCK_STMT, IF_STMT): New nodes.
2061
2062         * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
2063         LABEL_STMT_FIRST_IN_EH): New macros.
2064         (RETURN_STMT_EXPR): Likewise.
2065
2066         * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
2067         IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
2068
2069 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
2070
2071         * atree.ads: Correct documentation on extended nodes.
2072
2073         * link.c: Set run_path_option for FreeBSD.
2074
2075 2004-04-08  Vincent Celier  <celier@gnat.com>
2076
2077         * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
2078         one of the ALI file, do not link with DEC lib.
2079
2080         * par.adb Remove the last two characters ("%s" or "%b") when checking
2081         if a language defined unit may be recompiled.
2082
2083 2004-04-08  Ed Schonberg  <schonberg@gnat.com>
2084
2085         * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
2086         removal of abstract operation leaves no possible interpretation for
2087         expression.
2088
2089         * sem_eval.adb (Eval_Qualified_Expression): Use
2090         Set_Raises_Constraint_Error on node when needed, so that it does not
2091         get optimized away by subsequent optimizations.
2092
2093         * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
2094         operands even when they are not wrapped in a type conversion.
2095
2096 2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
2097
2098         * sem_prag.adb (Set_Exported): Warn about making static as result of
2099         export only when the export is coming from source. This may be not
2100         be true e.g. on VMS where we expand export pragmas for exception codes
2101         together with imported or exported exceptions, and we don't want the
2102         user to be warned about something he didn't write.
2103
2104 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
2105
2106         * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
2107         duplication between normal entities and those declared as renamings.
2108         No functional change.
2109
2110         * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
2111         inline functions returning an unconstrained result.
2112
2113 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
2114
2115         * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
2116         conform to what other front-ends do.
2117
2118 2004-04-08  Doug Rupp  <rupp@gnat.com>
2119
2120         * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
2121         libraries.
2122
2123 2004-04-06  Pascal Obry  <obry@gnat.com>
2124
2125         * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
2126
2127         * osint.adb (Program_Name): Do not look past a directory separator.
2128
2129 2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
2130
2131         * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
2132
2133         * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
2134         requirement for preserving a copy of the original assignment node.
2135
2136         * sinfo.ads: Update comment (Original_Tree -> Original_Node).
2137
2138 2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
2139
2140         (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
2141         when supported.
2142
2143 2004-04-06  Ed Schonberg  <schonberg@gnat.com>
2144
2145         * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
2146         operator calls in functional notation, and apply
2147         Universal_Interpretation to operands, not to their type.
2148
2149 2004-04-06  Robert Dewar  <dewar@gnat.com>
2150
2151         * 5wdirval.adb: Minor reformatting
2152
2153 2004-04-06  Ed Falis  <falis@gnat.com>
2154
2155         * gnat_rm.texi: Improve a reference to the GCC manual
2156
2157 2004-04-05  Vincent Celier  <celier@gnat.com>
2158
2159         * adaint.h, adaint.c: Add function __gnat_named_file_length
2160
2161         * impunit.adb: Add Ada.Directories to the list
2162
2163         * Makefile.in: Add VMS and Windows versions of
2164         Ada.Directories.Validity package body.
2165
2166         * Makefile.rtl: Add a-direct and a-dirval
2167
2168         * mlib-tgt.ads: Minor comment update.
2169
2170         * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
2171         a-direct.ads, a-direct.adb: New files.
2172
2173 2004-04-05  Vincent Celier  <celier@gnat.com>
2174
2175         PR ada/13620
2176         * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
2177         just to the compiler.
2178
2179 2004-04-05  Robert Dewar  <dewar@gnat.com>
2180
2181         * a-except.adb (Exception_Name_Simple): Make sure lower bound of
2182         returned string is 1.
2183
2184         * ali-util.adb: Use proper specific form for Warnings (Off, entity)
2185
2186         * eval_fat.ads: Minor reformatting
2187
2188         * g-curexc.ads: Document that lower bound of returned string values
2189         is always one.
2190
2191         * gnatlink.adb: Add ??? comment for previous change
2192         (need to document why this is VMS specific)
2193
2194         * s-stoele.ads: Minor reformatting
2195
2196         * tbuild.ads: Minor reformatting throughout (new function specs)
2197
2198         * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
2199         after WITH.
2200
2201         * scng.adb: Minor reformatting
2202
2203 2004-04-05  Geert Bosch  <bosch@gnat.com>
2204
2205         * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
2206         (Leading_Part): Still perform truncation to machine number if the
2207         specified radix_digits is greater or equal to machine_mantissa.
2208
2209 2004-04-05  Javier Miranda  <miranda@gnat.com>
2210
2211         * par-ch3.adb: Complete documentation of previous change
2212         Correct wrong syntax documentation of the OBJECT_DECLARATION rule
2213         (aliased must appear before constant).
2214
2215         * par-ch4.adb: Complete documentation of previous change.
2216
2217         * par-ch6.adb: Complete documentation of previous change.
2218
2219         * sinfo.ads: Fix typo in commment.
2220
2221 2004-04-05  Ed Schonberg  <schonberg@gnat.com>
2222
2223         * sem_ch3.adb (Inherit_Components): If derived type is private and has
2224         stored discriminants, use its discriminants to constrain parent type,
2225         as is done for non-private derived record types.
2226
2227         * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
2228         Ada 2005 AI-310: an abstract non-dispatching operation is not a
2229         candidate interpretation in an overloaded call.
2230
2231         * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
2232         expression is Null and target type is not an access type (e.g. a
2233         non-private address type).
2234
2235 2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
2236
2237         * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
2238         statement whose right-hand side is an inlined call, save a copy of the
2239         original assignment subtree to preserve enough consistency for
2240         Analyze_Assignment to proceed.
2241
2242         * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
2243         complete assignment subtree which is now unnecessary, as the expansion
2244         of inlined call has been improved to preserve a consistent assignment
2245         tree.  Note_Possible_Modification must be called only
2246         after checks have been applied, or else unnecessary checks will
2247         be generated.
2248
2249         * sem_util.adb (Note_Possible_Modification): Reorganise the handling
2250         of explicit dereferences that do not Come_From_Source:
2251          - be selective on cases where we must go back to the dereferenced
2252            pointer (an assignment to an implicit dereference must not be
2253            recorded as modifying the pointer);
2254          - do not rely on Original_Node being present (Analyze_Assignment
2255            calls Note_Possible_Modification on a copied tree).
2256
2257         * sem_warn.adb (Check_References): When an unset reference to a pointer
2258         that is never assigned is encountered, prefer '<pointer> may be null'
2259         warning over '<pointer> is never assigned a value'.
2260
2261 2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
2262
2263         * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
2264         the ABI.
2265
2266 2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
2267
2268         * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
2269         libexc. We currently don't reference anything in this library and
2270         linking it in triggers linker warnings we don't want to see.
2271
2272         * init.c: Update comments.
2273
2274 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2275
2276         * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
2277         * utils.c (create_field_decl): Likewise.
2278         * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
2279
2280 2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
2281
2282         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
2283         Replace ifinfo by ifnottex, to make makeinfo --html happy again.
2284         Add info directory entry and category.
2285
2286 2004-04-02  Jan Hubicka  <jh@suse.cz>
2287
2288         * utils.c: Include function.h
2289         (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
2290
2291 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
2292
2293         PR ada/14150
2294         * Make-lang.in: Clean up generation of documentation
2295
2296         * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
2297
2298         * xgnatug.adb: Removed, replaced by xgnatugn.adb
2299
2300         * xgnatugn.adb: Replaces xgnatug.adb
2301
2302         * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
2303
2304         * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
2305
2306         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
2307         gnat_ug_wnt.texi: Removed.
2308
2309 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
2310
2311         * utils2.c: Update copyright notice.
2312
2313 2004-04-01  Robert Dewar  <dewar@gnat.com>
2314
2315         * checks.adb: Minor reformatting throughout
2316         Note that prev checkin added RM reference to alignment warning
2317
2318 2004-04-01  Ed Schonberg  <schonberg@gnat.com>
2319
2320         * exp_aggr.adb (Get_Component_Val): Treat a string literal as
2321         non-static when building aggregate for bit-packed array.
2322
2323         * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
2324         function call that is itself the actual in a procedure call, build
2325         temporary for it.
2326
2327         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
2328         a string literal, create a temporary for it, constant folding only
2329         handles scalars here.
2330
2331 2004-04-01  Vincent Celier  <celier@gnat.com>
2332
2333         * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
2334         Error_Msg_SP): New empty procedures to instantiate the Scanner.
2335         (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
2336         tokens.
2337         (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
2338         (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
2339         and get the checksum.
2340
2341         * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
2342         already in the Q.
2343         Increase the Marking_Label at the end of the Multiple_Main_Loop,
2344         instead of at the beginning.
2345
2346         * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
2347         directly.
2348         (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
2349         on VMS.
2350
2351         * osint.ads (Multi_Unit_Index_Character): New Character global variable
2352
2353         * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
2354         not '~' directly.
2355
2356         * par.adb: Remove test on file name to detect language defined units.
2357         Add test on unit name, after parsing, to detect language defined units
2358         that are not compiled with -gnatg (except System.RPC and its children)
2359
2360         * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
2361         following units without style checking.
2362
2363         * switch-c.adb: Change -gnatC to -gnateI
2364
2365         * usage.adb: Document new switch -gnateInnn
2366
2367         * scng.adb (Accumulate_Token_Checksum): New procedure
2368         (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
2369         word or literal number.
2370         (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
2371         numbers.
2372
2373 2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
2374
2375         * a-tasatt.adb,
2376         g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
2377         switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
2378         5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
2379         5vtpopde.adb: Add missing 'constant' keywords.
2380
2381 2004-04-01  Javier Miranda  <miranda@gnat.com>
2382
2383         * par-ch4.adb: (P_Allocator): Code cleanup
2384
2385         * sem_ch3.adb (Access_Definition): Properly set the null-excluding
2386         attribute.
2387
2388         * sinfo.ads: Complete documentation of previous change
2389
2390 2004-04-01  Pascal Obry  <obry@gnat.com>
2391
2392         * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
2393         only on VMS.  This special handling was done because an old GNU/ld bug
2394         on Windows which has been fixed.
2395
2396 2004-04-01  GNAT Script  <nobody@gnat.com>
2397
2398         * Make-lang.in: Makefile automatically updated
2399
2400 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2401
2402         * decl.c (gnat_to_gnu_entity, make_type_from_size):
2403         Use TYPE_UNSIGNED, not TREE_UNSIGNED.
2404         * trans.c (tree_transform, convert_with_check): Likewise.
2405         * utils.c (gnat_signed_or_unsigned_type): Likewise.
2406         (build_vms_descriptor, unchecked_convert): Likewise.
2407         * utils2.c (nonbinary_modular_operation): Likewise.
2408
2409 2004-03-29  Javier Miranda  <miranda@gnat.com>
2410
2411         * checks.adb (Null_Exclusion_Static_Checks): New subprogram
2412         (Install_Null_Excluding_Check): Local subprogram that determines whether
2413         an access node requires a runtime access check and if so inserts the
2414         appropriate run-time check.
2415         (Apply_Access_Check): Call Install_Null_Excluding check if required
2416         (Apply_Constraint_Check): Call Install_Null_Excluding check if required
2417
2418         * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
2419
2420         * einfo.ads: Fix typo in comment
2421
2422         * exp_ch3.adb (Build_Assignment): Generate conversion to the
2423         null-excluding type to force the corresponding run-time check.
2424         (Expand_N_Object_Declaration): Generate conversion to the null-excluding
2425         type to force the corresponding run-time check.
2426
2427         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
2428         the null-excluding type to force the corresponding run-time check.
2429
2430         * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
2431         case of access types unless they have the null-excluding attribute.
2432
2433         * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
2434         part.
2435
2436         * exp_util.ads: Fix typo in comment
2437
2438         * par.adb (P_Null_Exclusion): New subprogram
2439         (P_Subtype_Indication): New formal that indicates if the null-excluding
2440         part has been scanned-out and it was present
2441
2442         * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
2443
2444         * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
2445         (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
2446         type to force the corresponding run-time check
2447         (Resolve_Aggregate): Propagate the null-excluding attribute to the array
2448         components
2449         (Resolve_Array_Aggregate): Carry out some static checks
2450         (Resolve_Record_Aggregate.Get_Value): Carry out some static check
2451
2452         * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
2453         attribute must be set only if specified by means of the null-excluding
2454         part. In addition, we must also propagate the access-constant attribute
2455         if present.
2456         (Access_Subprogram_Declaration, Access_Type_Declaration,
2457         Analyze_Component_Declaration, Analyze_Object_Declaration,
2458         Array_Type_Declaration, Process_Discriminants,
2459         Analyze_Subtype_Declaration): Propagate the null-excluding attribute
2460         and carry out some static checks.
2461         (Build_Derived_Access_Type): Set the null-excluding attribute
2462         (Derived_Type_Declaration, Process_Subtype): Carry out some static
2463         checks.
2464
2465         * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
2466
2467         * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
2468
2469         * sem_ch6.adb (Process_Formals): Carry out some static checks.
2470         (Set_Actual_Subtypes): Generate null-excluding subtype if the
2471         null-excluding part was present; it is not required to be done here in
2472         case of anonymous access types.
2473         (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
2474         value.
2475
2476         * sem_res.adb (Resolve_Actuals): Carry out some static check
2477         (Resolve_Null): Allow null in anonymous access
2478
2479         * sinfo.adb: New subprogram Null_Exclusion_Present
2480         All_Present and Constant_Present available on access_definition nodes
2481
2482         * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
2483         object_declaration, derived_type_definition, component_definition,
2484         discriminant_specification, access_to_object_definition,
2485         access_function_definition, allocator, access_procedure_definition,
2486         access_definition, parameter_specification, All_Present and
2487         Constant_Present flags available on access_definition nodes.
2488
2489 2004-03-29  Robert Dewar  <dewar@gnat.com>
2490
2491         * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
2492         gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
2493         opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
2494         par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
2495         sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
2496         sem_prag.adb: Updates to handle multiple units/file
2497
2498         * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
2499
2500         * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
2501         sem_util.adb: Minor reformatting
2502
2503         * sem_ch12.adb: Add comment for previous change
2504
2505 2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
2506
2507         * osint.adb (Executable_Prefix): Set Exec_Name to the current
2508         executable name when not initialized. Otherwise, use its current value.
2509
2510         * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
2511         initialize it to another executable name than the current one. This
2512         allows to configure paths for an executable name (gnatmake) different
2513         from the current one (gnatdist).
2514
2515 2004-03-29  Ed Schonberg  <schonberg@gnat.com>
2516
2517         * exp_ch6.adb (Expand_Call): A call to a function declared in the
2518         current unit cannot be inlined if it appears in the body of a withed
2519         unit, to avoid order of elaboration problems in gigi.
2520
2521         * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
2522         information for protected (wrapper) operation as well, to simplify gdb
2523         use.
2524
2525         * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
2526         protected body, indicate that the entity for the generated spec comes
2527         from source, to ensure that references are properly generated for it.
2528         (Build_Body_To_Inline): Do not inline a function that returns a
2529         controlled type.
2530
2531         * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
2532         apply convention to homonyms that are declared explicitly.
2533
2534         * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
2535         that renames an equality operator and the operands are overloaded,
2536         resolve them with the declared formal types, before rewriting as an
2537         operator.
2538
2539 2004-03-29  GNAT Script  <nobody@gnat.com>
2540
2541         * Make-lang.in: Makefile automatically updated
2542
2543 2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
2544
2545         * memtrack.adb: Log realloc calls, which are treated as free followed
2546         by alloc.
2547
2548 2004-03-25  Vincent Celier  <celier@gnat.com>
2549
2550         * prj-makr.adb (Process_Directories): Detect when a file contains
2551         several units. Do not include such files in the config pragmas or
2552         in the naming scheme.
2553
2554         * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
2555         Resolve links only when not in Trusted_Mode.
2556         (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
2557         Do not resolve links for the display names.
2558
2559         * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
2560         resolve links when computing the display names.
2561
2562 2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
2563
2564         * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
2565         attribute reference does not denote a subtype, it can be any
2566         expression that has a classwide type, potentially after an implicit
2567         dereference.  In particular, the prefix can be a view conversion for
2568         a classwide type (for which Is_Object_Reference holds), but it can
2569         also be a value conversion for an access-to-classwide type. In the
2570         latter case, there is an implicit dereference, and the original node
2571         for the prefix does not verify Is_Object_Reference.
2572
2573         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
2574         conversion of a discriminant-dependent component of a mutable object
2575         is one itself.
2576
2577 2004-03-25  Ed Schonberg  <schonberg@gnat.com>
2578
2579         * freeze.adb (Freeze_Entity): When an inherited subprogram is
2580         inherited, has convention C, and has unconstrained array parameters,
2581         place the corresponding warning on the derived type declaration rather
2582         than the original subprogram.
2583
2584         * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
2585         indication on renaming declaration, if formal has a box and actual
2586         is absent.
2587
2588         * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
2589         determine whether to generate an implicit or explicit reference to
2590         the renamed entity.
2591
2592         * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
2593         subprogram renaming comes from a defaulted formal subprogram in an
2594         instance.
2595
2596 2004-03-25  Gary Dismukes  <dismukes@gnat.com>
2597
2598         * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
2599         value expressions to ensure that calls within a component definition
2600         will be checked (since those are evaluated during the record type's
2601         elaboration).
2602
2603 2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
2604
2605         * s-tpobop.adb: Code clean up:
2606         (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
2607         code.
2608         (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
2609
2610 2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
2611
2612         * Makefile.in: Clean up in the ravenscar run time.
2613
2614 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2615
2616         * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
2617         of No_Strict_Aliasing to build_pointer_type_for_mode.
2618         * utils.c (update_pointer_to): Walk pointer and ref chains.
2619
2620 2004-03-22  Cyrille Comar  <comar@act-europe.fr>
2621
2622         * ali.ads: Fix Comment about Dynamic_Elab.
2623
2624         * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
2625         Has_RACW, Is_Generic, etc.)
2626         (Output_Object, Gnatls): Take into account ALI files not attached to
2627         an object.
2628
2629 2004-03-22  Vincent Celier  <celier@gnat.com>
2630
2631         * gprep.adb: Change all String_Access to Name_Id
2632         (Is_ASCII_Letter): new function
2633         (Double_File_Name_Buffer): New procedure
2634         (Preprocess_Infile_Name): New procedure
2635         (Process_Files): New procedure
2636         (Gnatprep): Check if output and input are existing directories.
2637         Call Process_Files to do the real job.
2638
2639 2004-03-22  Robert Dewar  <dewar@gnat.com>
2640
2641         * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
2642         s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
2643
2644 2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
2645
2646         * scn.adb (Contains): Add check for EOF, is needed for a degenerated
2647         case when the source contains only comments.
2648
2649 2004-03-22  Ed Schonberg  <schonberg@gnat.com>
2650
2651         * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
2652         declaration for a child subprogram body that acts as a spec, indicate
2653         that the entity in the declaration needs debugging information.
2654
2655         * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
2656         full view if the subtype is created for a constrained record component;
2657         gigi has enough information to construct the record, and there is no
2658         place in the tree for the declaration.
2659
2660         * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
2661         serial number for the dummy body that is built for analysis, to avoid
2662         inconsistencies in the generation of internal names when compiling
2663         with -gnatN.
2664
2665 2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
2666
2667         * sem_util.adb (Is_Object_Reference): A view conversion denotes an
2668         object.
2669
2670 2004-03-22  GNAT Script  <nobody@gnat.com>
2671
2672         * Make-lang.in: Makefile automatically updated
2673
2674 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2675
2676         * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
2677         * trans.c (tree_transform, emit_index_check): Likewise.
2678         * utils.c (build_template): Likewise.
2679         (max_size, convert): Remove handling of WITH_RECORD_EXPR.
2680         (maybe_unconstrained_array, unchecked_convert): Likewise.
2681         * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
2682         (build_unary_op): Likewise.
2683         (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
2684         (fill_vms_descriptor): Likewise.
2685         (build_call_alloc_dealloc): Likewise.
2686         ALIGN is unsigned.
2687         * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
2688
2689 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2690
2691         PR other/14630
2692         * gnat_ug.texi: Add info directory category and entry.
2693         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
2694         gnat_ug_wnt.texi: Regenerate.
2695
2696 2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
2697
2698         * ada-tree.h: Update copyright notice.
2699         Minor reformatting.
2700
2701 2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
2702
2703         * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
2704         as regular exception objects and not as mere integers representing the
2705         condition code.  The latter approach required some dynamics to mask off
2706         severity bits, which did not fit well into the GCC table based model.
2707         (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
2708         exception data objects. We don't it and it would conflict with the other
2709         external symbol we have to generate for such exceptions.
2710
2711         * trans.c (tree_transform, case N_Exception_Handler): Remove part of
2712         the special code for VMS exceptions, since these are now represented
2713         as regular exceptions objects.
2714
2715 2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2716
2717         * decl.c (debug_no_type_hash): Remove.
2718         (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
2719         * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
2720
2721 2004-03-19  Laurent Guerby <laurent@guerby.net>
2722
2723         * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
2724         aggregate, allows bootstrap from 3.3 on powerpc-darwin.
2725
2726 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2727
2728         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
2729         (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
2730         (TYPE_RM_SIZE_INT): Directly use type.values.
2731         (TREE_LOOP_ID): Clean up check.
2732         * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
2733         TYPE_VALUES, not TYPE_FIELDS.
2734         * trans.c (convert_with_check): Delay access of bounds of basetype
2735         until sure is numeric.
2736
2737 2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
2738
2739         * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
2740
2741         Code clean up:
2742         * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
2743         5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
2744         Specific.Set instead of direct call to e.g pthread_setspecific.
2745
2746 2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
2747
2748         * adaint.c: Update comments.
2749
2750         * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
2751         GNATLIB_SHARED for FreeBSD.
2752
2753 2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
2754
2755         * init.c [VxWorks]: Do not fix the stack size for the environment task.
2756         When needed (stack checking) the stack size is retrieved
2757         from the VxWorks kernel.
2758
2759         * Makefile.in: Flag -nostdinc is required when building the run time
2760         for avoiding looking for files in the base compiler.
2761         Add the VxWorks specific version of the package body for
2762         System.Stack_checking.Operations (5zstchop.adb).
2763
2764         * Make-lang.in: Add the object file for
2765         System.Stack_Checking.Operations.
2766
2767         * Makefile.rtl: Add object file for the package
2768         System.Stack_Checking.Operations.
2769
2770         * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
2771
2772         * s-stache.ads, s-stache.adb: Move the operations related to stack
2773         checking from this package to package System.Stack_Checking.Operations.
2774         This way, stack checking operations are only linked in the final
2775         executable when using the -fstack-check flag.
2776
2777 2004-03-18  Doug Rupp  <rupp@gnat.com>
2778
2779         * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
2780         Reorganize ifeq's.
2781
2782         * 5qsystem.ads, 5xcrtl.ads: New files.
2783
2784 2004-03-18  Vincent Celier  <celier@gnat.com>
2785
2786         * prj.adb (Reset): Reset hash table Files_Htable
2787
2788         * prj-env.adb (Source_Paths, Object_Paths): New tables.
2789         (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
2790         the procedures Add_To_Path_File.
2791         (Set_Ada_Paths): Accumulate source and object dirs in the tables,
2792         making sure that each directory is present only once and, for object
2793         dirs, when a directory already present is added, the duplicate is
2794         removed and the directory is always put as the last in the table.
2795         Write the path files at the end of these accumulations.
2796
2797         * prj-nmsc.adb (Record_Source): Add source file name in hash table
2798         Files_Htable for all sources.
2799
2800         * prj-proc.adb (Process): Remove restrictions between not directly
2801         related extending projects.
2802
2803 2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
2804
2805         * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
2806         (Find_Sources): Minor speed optimization.
2807
2808         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
2809         parameter Trusted_Mode.
2810
2811 2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
2812
2813         * scn.adb (Determine_License): Take into account a degenerated case
2814         when the source contains only comments.
2815
2816 2004-03-18  Ed Schonberg  <schonberg@gnat.com>
2817
2818         * sem_warn.adb (Check_References): For a warning on a selected
2819         component that does not come from source, locate an uninitialized
2820         component of the record type to produce a more precise error message.
2821
2822 2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
2823
2824         * 3zsoccon.ads: Fix multicast options.
2825
2826         * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
2827         in the spec.
2828
2829 2004-03-15  Robert Dewar  <dewar@gnat.com>
2830
2831         * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
2832         pragma used for a private type.
2833
2834         * lib-xref.adb (Generate_Reference): Do not generate warning if
2835         reference is in a different unit from the pragma Unreferenced.
2836
2837         * 5vtpopde.adb: Minor reformatting
2838         Fix casing of To_Task_ID
2839
2840         * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
2841         flag if we have an unchecked conversion to an access type in the same
2842         unit.
2843
2844 2004-03-15  Geert Bosch  <bosch@gnat.com>
2845
2846         * a-ngcoty.adb (Modulus): In alternate formula for large real or
2847         imaginary parts, use Double precision throughout.
2848
2849         * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
2850         we want to be able to compile run-time with -gnata for testing, but
2851         this may also be instantiated in user code that is compiled with -gnata.
2852
2853 2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
2854
2855         * s-stalib.ads (Exception_Code): New type, to represent Import/Export
2856         codes. Having a separate type for this is useful to enforce consistency
2857         throughout the various run-time units.
2858         (Exception_Data): Use Exception_Code for Import_Code.
2859
2860         * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
2861         Natural and Integer in various places.
2862         (Register_VMS_Exception): Use Base_Code_In to compute the exception code
2863         with the severity bits masked off.
2864         (Register_VMS_Exception): Handle the additional exception data pointer
2865         argument.
2866
2867         * raise.c (_GNAT_Exception structure): Remove the handled_by_others
2868         component, now reflected by an exported accessor.
2869         (is_handled_by): New routine to compute whether the propagated
2870         occurrence matches some handler choice specification. Extracted out of
2871         get_action_description_for, and expanded to take care of the VMS
2872         specifities.
2873         (get_action_description_for): Use is_handled_by instead of an explicit
2874         complex condition to decide if the current choice at hand catches the
2875         propagated occurrence.
2876
2877         * raise.h (Exception_Code): New type for C.
2878
2879         * rtsfind.ads (RE_Id, RE_Unit_Table): Add
2880         System.Standard_Library.Exception_Code, to allow references from the
2881         pragma import/export expander.
2882
2883         * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
2884         New accessors to allow easy access to GNAT exception data
2885         characteristics.
2886         (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
2887         redundant Handled_By_Others component, helper for the personality
2888         routine which will now be able to call the appropriate exception data
2889         accessor instead.
2890
2891         * cstand.adb (Create_Standard): Adjust the type of the Import_Code
2892         component of Standard_Exception_Type to be the closest possible to
2893         Exception_Code in System.Standard_Library, that we cannot get at this
2894         point. Expand a ??? comment to notify that this type node should
2895         probably be rewritten later on.
2896
2897         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
2898         registration call to include a pointer to the exception object in the
2899         arguments.
2900
2901         * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
2902         instead of int and explicit bitmasks.
2903
2904 2004-03-15  Vincent Celier  <celier@gnat.com>
2905
2906         * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
2907         equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
2908
2909         * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
2910         longer needed now that it is in the spec of
2911         System.Tasking.Task_Attributes.
2912
2913         * adaint.h, adaint.c: (__gnat_create_output_file): New function
2914
2915         * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
2916
2917         * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
2918
2919         * make.adb (Gnatmake): Do not check the executable suffix; it is being
2920         taken care of in Scan_Make_Arg.
2921         (Scan_Make_Arg): Add the executable suffix only if the argument
2922         following -o, in canonical case, does not end with the executable
2923         suffix.  When in verbose mode and executable file name does not end
2924         with executable suffix, output the executable name, in canonical case.
2925
2926         * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
2927         to avoid warnings when instantiating Ada.Task_Attributes.
2928         Minor reformating.
2929
2930         * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
2931         in the correct order.
2932
2933         * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
2934         redirect standard output and error to a file for the invocation of the
2935         compiler, then read the file.
2936
2937         * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
2938         directory, instead of the Value.
2939         (Find_Source_Dirs): Remove useless code & comments.
2940
2941 2004-03-15  Ed Schonberg  <schonberg@gnat.com>
2942
2943         * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
2944         tagged type is inherited, and the parent operation is not frozen yet,
2945         force generation of a freeze node for the inherited operation, so the
2946         corresponding dispatch entry is properly initialized.
2947         (Make_Predefined_Primitive_Specs): Check that return type is Boolean
2948         when looking for user-defined equality operation.
2949
2950         * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
2951         boolean when locating primitive equality of tagged component.
2952
2953         * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
2954         bit-aligned field and the right-hand side a string literal, introduce
2955         a temporary before expanding assignment into a loop.
2956
2957         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
2958         priority in full, to ensure that any expanded subepxressions of it are
2959         elaborated in the scope of the init_proc.
2960
2961         * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
2962         after object declaration, skipping over code that may have been
2963         generated for validity checks.
2964
2965         * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
2966         discriminants, ignore the known discriminants of its full view, if
2967         any, to check legality.
2968
2969         * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
2970         component if type has unknown discriminants.
2971         (Analyze_Private_Extension_Declaration): Discriminant constraint is
2972         null if type has unknown discriminants.
2973
2974         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
2975         for end label when present.
2976
2977         * s-fileio.adb (Open): When called with a C_Stream, use given name for
2978         temporary file, rather than an empty string.
2979
2980 2004-03-15  Ed Falis  <falis@gnat.com>
2981
2982         * s-thread.adb: Removed, no longer used.
2983
2984 2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2985
2986         * decl.c (target.h): Now include.
2987         (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
2988         in new build_pointer_from_mode calls for non-fat/non-thin pointer.
2989         (validate_size): For POINTER_TYPE, get smallest size permitted on
2990         machine.
2991
2992         * fe.h: Sort Einfo decls and add Set_Mechanism.
2993
2994         * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
2995         (ada/decl.o): Depends on target.h.
2996
2997         * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
2998         FUNCTION_BOUNDARY; always use TYPE_ALIGN.
2999
3000 2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
3001
3002         * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
3003
3004         * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
3005         Insert_Dereference_Action when rewriting an implicit dereference into
3006         an explicit one, this will be taken care of during expansion of the
3007         explicit dereference.
3008         (Expand_N_Slice): Same. Always do the rewriting, even for the case
3009         of non-packed slices, since the dereference action generated by
3010         expansion of the explicit dereference is needed in any case.
3011         (Expand_N_Selected_Component): When rewriting an implicit dereference,
3012         analyze and resolve the rewritten explicit dereference so it is seen
3013         by the expander.
3014         (Insert_Dereference_Action): This procedure is now called only for the
3015         expansion of an N_Explcit_Dereference_Node. Do insert a check even for
3016         dereferences that do not come from source (including explicit
3017         dereferences resulting from rewriting implicit ones), but do not
3018         recursively insert a check for the dereference nodes contained within
3019         the check.
3020         (Insert_Dereference_Action): Clarify and correct comment.
3021
3022 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
3023
3024         PR ada/14131
3025         Move language detection to the top level.
3026         * config-lang.in: Build by default.
3027
3028 2004-03-05  Robert Dewar  <dewar@gnat.com>
3029
3030         * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
3031
3032         * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
3033         i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
3034         5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
3035         5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
3036         unchecked conversion to spec to avoid warnings.
3037
3038         * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
3039         to Task_ID
3040
3041         * 7stpopsp.adb: Correct casing in To_Task_ID call
3042
3043         * a-strsea.ads, a-strsea.adb: Minor reformatting
3044
3045         * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
3046
3047         * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
3048         Adjust Max_Msg_Length to be clearly large enough.
3049
3050         * fe.h: Define In_Same_Source_Unit
3051
3052         * osint.adb: Add pragma Warnings Off to suppress warnings
3053         * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
3054         aliasing warnings.
3055
3056         * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
3057
3058         * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
3059
3060         * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
3061
3062         * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
3063
3064         * sem_prag.adb: Implement pragma No_Strict_Aliasing.
3065
3066         * sinfo.ads: Remove obsolete comment on validate unchecked conversion
3067         node. We now do generate them for gcc back end.
3068
3069         * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
3070         warning.
3071
3072         * sinput-c.adb: Fix bad name in header.
3073         Add pragma Warnings Off to suppress aliasing warning.
3074
3075         * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
3076
3077         * snames.h, snames.ads, snames.adb: Add entry for pragma
3078         No_Strict_Aliasing.
3079
3080 2004-03-05  Vincent Celier  <celier@gnat.com>
3081
3082         * prj-com.ads: Add hash table Files_Htable to check when a file name
3083         is already a source of another project.
3084
3085         * prj-nmsc.adb (Record_Source): Before recording a new source, check
3086         if its file name is not already a source of another project. Report an
3087         error if it is.
3088
3089         * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
3090         source file name, call gnatpp with all the sources of the main project.
3091
3092         * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
3093         of file names.
3094
3095         * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
3096         NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
3097         /RUNTIME_SYSTEM=, converted to --RTS=
3098         /NOTABS, converted to -notabs
3099
3100 2004-03-05  Pascal Obry  <obry@gnat.com>
3101
3102         * make.adb: Minor reformatting.
3103
3104 2004-03-05  Ed Schonberg  <schonberg@gnat.com>
3105
3106         Part of implemention of AI-262.
3107         * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
3108
3109         * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
3110         procedure.
3111
3112         * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
3113         when component type is a partially constrained class-wide subtype.
3114         (Constrain_Discriminated_Type): If parent type has unknown
3115         discriminants, a constraint is illegal, even if full view has
3116         discriminants.
3117         (Build_Derived_Record_Type): Inherit discriminants when deriving a type
3118         with unknown discriminants whose full view is a discriminated record.
3119
3120         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
3121         flag, to handle properly derivations of tagged types with unknown
3122         discriminants.
3123         (Analyze_Package_Spec, Analyze_Package_Body): Install
3124         Private_With_Clauses before analyzing private part or body.
3125
3126         * einfo.ads: Indicate that both Has_Unknown_Discriminants and
3127         Has_Discriminants can be true for a given type (documentation).
3128
3129 2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
3130
3131         * s-restri.ads: Fix license (GPL->GMGPL).
3132
3133         * s-tassta.adb: Minor reformatting.
3134
3135         * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
3136         by calls to Exit_One_ATC_Level, since additional clean up is performed
3137         by this function.
3138
3139         * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
3140         by calls to Exit_One_ATC_Level, since additional clean up is performed
3141         by this function.
3142
3143 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3144
3145         * trans.c: Reflect GCC changes to fix bootstrap problem.
3146         Add warning for suspicious aliasing unchecked conversion.
3147
3148 2004-03-05  GNAT Script  <nobody@gnat.com>
3149
3150         * Make-lang.in: Makefile automatically updated
3151
3152 2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
3153
3154         * ali.adb (Read_Instantiation_Instance): Do not modify the
3155         current_file_num when reading information about instantiations, since
3156         this corrupts files in later references.
3157
3158 2004-03-02  Vincent Celier  <celier@gnat.com>
3159
3160         * bcheck.adb (Check_Consistency): Get the full path of an ALI file
3161         before checking if it is read-only.
3162
3163         * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
3164         of SRC_DIRS and eliminate duplicates.
3165
3166         * gprcmd.adb: Replace command "path" with command "path_sep" to return
3167         the path separator.
3168         (Usage): Document path_sep
3169
3170         * Makefile.generic: For Ada and GNU C++ cases, link directly with the
3171         C++ compiler. No need for a script.
3172         Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
3173         Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
3174         subst.
3175
3176         * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
3177         where there are Ada sources.
3178         (Set_Ada_Paths): Only add to the include path the source dirs of project
3179         with Ada sources.
3180         (Add_To_Path): Add the Display_Values of the directories, not their
3181         Values.
3182
3183         * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
3184         data.
3185
3186         * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
3187         is not No_Name.
3188         (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
3189         Value is canonicalized.
3190         (Language_Independent_Check): Do not copy Value to Display_Value when
3191         canonicalizing Value.
3192
3193         * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
3194         path to find limited with cycles.
3195         (Parse_Single_Project): Use canonical cased path to find the end of a
3196         with cycle.
3197
3198 2004-03-02  Ed Schonberg  <schonberg@gnat.com>
3199
3200         * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
3201         and not a child unit.
3202
3203         * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
3204         appear in a with_clause.
3205
3206         * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
3207         only happen in type_annotate mode, do not try to elaborate it.
3208
3209         * exp_util.adb (Force_Evaluation): If expression is a selected
3210         component on the left of an assignment, use a renaming rather than a
3211         temporary to remove side effects.
3212
3213         * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
3214         inlined instance body, which is analyzed before the end of the
3215         enclosing scope.
3216
3217 2004-03-02  Robert Dewar  <dewar@gnat.com>
3218
3219         * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
3220         sem_ch4.adb: Use new feature for substitution of keywords in VMS
3221
3222         * errout.ads, errout.adb: Implement new circuit for substitution of
3223         keywords in VMS.
3224
3225         * sem_case.adb (Analyze_Choices): Place message properly when case is
3226         a subtype reference rather than an explicit range.
3227
3228         * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
3229
3230 2004-03-02  Doug Rupp  <rupp@gnat.com>
3231
3232         * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
3233
3234 2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
3235
3236         * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
3237
3238 2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3239
3240         * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
3241         BLKmode bitfield.
3242
3243 2004-02-25  Robert Dewar  <dewar@gnat.com>
3244
3245         * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
3246         55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
3247         5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
3248         5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
3249         5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
3250         5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
3251         the defining instance of the type to avoid aliasing problems.
3252         Fix copyright header.  Fix bad comments in package header.
3253
3254         * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
3255
3256 2004-02-25  Ed Schonberg  <schonberg@gnat.com>
3257
3258         * exp_ch2.adb (Param_Entity): Handle properly formals that have been
3259         rewritten as references when aliased through an address clause.
3260
3261         * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
3262         whether call can be interpreted as an indirect call to the result of a
3263         parameterless function call returning an access subprogram.
3264
3265 2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
3266
3267         Code clean up:
3268         * exp_ch7.adb (Make_Clean): Remove generation of calls to
3269         Unlock[_Entries], since this is now done by Service_Entries directly.
3270
3271         * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
3272
3273         * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
3274         Requeue_Call for better code readability. Change spec and update calls:
3275         PO_Service_Entries now unlock the PO on exit.
3276         (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
3277         PO_Service_Entries.
3278
3279         * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
3280
3281         * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
3282
3283 2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
3284
3285         * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
3286         protected subprogram call and analyzing the result of such expanding
3287         in case when the called protected subprogram is eliminated.
3288
3289         * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
3290         names.
3291
3292 2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
3293
3294         * Makefile.in: Clean ups.
3295
3296 2004-02-23  Ed Schonberg  <schonberg@gnat.com>
3297
3298         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
3299         protected operations if original subprogram is flagged as eliminated.
3300         (Expand_N_Subprogram_Body): For a protected operation, create
3301         discriminals for next operation before checking whether the operation
3302         is eliminated.
3303
3304         * exp_ch9.adb (Expand_N_Protected_Body,
3305         Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
3306         for internal protected operations if the original subprogram is
3307         eliminated.
3308
3309         * sem_elim.adb (Check_Eliminated): Handle properly protected operations
3310         declared in a single protected object.
3311
3312 2004-02-23  Vincent Celier  <celier@gnat.com>
3313
3314         * prj-attr.adb: Make attribute Builder'Executable an associative array,
3315         case insensitive if file names are case insensitive, instead of a
3316         standard associative array.
3317
3318         * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
3319         them as case insensitive on platforms where the file names are case
3320         sensitive.
3321
3322         * prj-part.adb (Parse_Single_Project): Make sure, when checking if
3323         project file has already been parsed that canonical path are compared.
3324
3325 2004-02-23  Robert Dewar  <dewar@gnat.com>
3326
3327         * sinput-c.ads: Correct bad unit title in header
3328
3329         * freeze.adb: Minor reformatting
3330
3331 2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3332
3333         * trans.c (tree_transform, case N_Procedure_Call_Statement): For
3334         nonaddressable COMPONENT_REF that is removing padding that we are
3335         taking the address of, take the address of the padded record instead
3336         if item is variable size.
3337
3338 2004-02-20  Robert Dewar  <dewar@gnat.com>
3339
3340         * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
3341
3342 2004-02-20  Ed Schonberg  <schonberg@gnat.com>
3343
3344         * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
3345         itype references for the constrained designated type of a component
3346         whose base type is already frozen.
3347
3348 2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
3349
3350         * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
3351         avoid GCC warnings.
3352
3353 2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
3354
3355         * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
3356         identifier for a phantom package that rewrites the formal package
3357         declaration with a box. The Add semantic decorations for the defining
3358         identifier from the original node (that represents the formal package).
3359
3360 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
3361
3362         * Make-lang.in (ada/stamp-sdefault): Use the top level
3363         move-if-change.
3364
3365 2004-02-19  Richard Henderson  <rth@redhat.com>
3366
3367         * misc.c (record_code_position): Add third build arg for RTL_EXPR.
3368
3369 2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
3370
3371         * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
3372         Scan_ALI can be used for multiple ALI files without reinitializing
3373         between calls.
3374
3375 2004-02-18  Robert Dewar  <dewar@gnat.com>
3376
3377         * debug.adb: Minor reformatting.
3378
3379 2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3380
3381         * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
3382         to zero if there is an address clause.
3383
3384 2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
3385
3386         * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
3387
3388 2004-02-18  Gary Dismukes  <dismukes@gnat.com>
3389
3390         * layout.adb (Layout_Component_List): Revise generation of call to
3391         discriminant-checking function to pass selections of all of the type's
3392         discriminants rather than just the variant-controlling discriminant.
3393
3394 2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
3395
3396         * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
3397         fail in the current setup and triggers spurious system error messages.
3398         Pretend it occurred and failed instead.
3399
3400 2004-02-18  Vincent Celier  <celier@gnat.com>
3401
3402         * bld.adb: Mark FLDFLAGS as saved
3403         (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
3404         it is not the root project.  Put each directory to be
3405         extended between double quotes to prevent it to be expanded on Windows.
3406         (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
3407         the project file. Set them back to their initial values if they have not
3408         been set in the project file.
3409
3410         * gprcmd.adb: (Gprdebug, Debug): New global variables
3411         (Display_Command): New procedure
3412         (Usage): Document new command "linkopts"
3413         Call Display_Command when env var GPRDEBUG has the value "TRUE"
3414         Implement new command "linkopts"
3415         Remove quotes that may be around arguments for "extend"
3416         Always call Normalize_Pathname with arguments formatted for the platform
3417
3418         * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
3419         Change @echo to @$(display) in target clean to be able to clean silently
3420
3421         * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
3422
3423         * prj-part.adb (Project_Path_Name_Of): Do not put final result in
3424         canonical case.
3425
3426         * prj-part.adb (Parse_Single_Project): Always call with From_Extended
3427         = Extending_All when current project is an extending all project.
3428
3429         * vms_conv.adb (Output_File_Expected): New Boolean global variable,
3430         set to True only for LINK command, after Unix switch -o.
3431         (Process_Arguments): Set Output_File_Expected to True for LINK command
3432         after Unix switch -o. When Output_File_Expected is True, never add an
3433         extension to a file name.
3434
3435         * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
3436         option file name, only to the --for-linker= switch.
3437         (Option_File_Name): If option file name do not end with ".opt", append
3438         "/OPTIONS".
3439
3440 2004-02-18  GNAT Script  <nobody@gnat.com>
3441
3442         * Make-lang.in: Makefile automatically updated
3443
3444 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
3445
3446         * Make-lang.in (stamp-sdefault): Do not depend on
3447         move-if-change.
3448
3449 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
3450
3451         * config-lang.in: Disable Ada by default until probe logic for
3452         a bootstrap Ada compiler can be moved to the top level configure
3453         script.
3454
3455 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
3456
3457         * decl.c (components_to_record): Don't claim that the internal fields
3458         we make to hold the variant parts are semantically addressable, because
3459         they are not.
3460
3461         * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
3462         adjust the comment describing the modular type form when we can use it.
3463         (Install_PAT): Account for the Esiz renaming.
3464
3465         * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
3466         sc_onstack context indication before raising the exception to which
3467         the signal is mapped. Allows better handling of later signals possibly
3468         triggered by the resumed user code if the exception is handled.
3469
3470 2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
3471
3472         * 5zinit.adb: Removed, no longer used.
3473
3474 2004-02-12  Robert Dewar  <dewar@gnat.com>
3475
3476         * ali.adb: Remove separating space between parameters on R line. Makes
3477         format consistent with format used by the binder for Set_Globals call.
3478
3479         * atree.ads, atree.adb: Minor reformatting (new function header format)
3480
3481         * bindgen.adb: Add Run-Time Globals documentation section containing
3482         detailed documentation of the globals passed from the binder file to
3483         the run time.
3484
3485         * gnatls.adb: Minor reformatting
3486
3487         * init.c (__gnat_set_globals): Add note pointing to documentation in
3488         bindgen.
3489
3490         * lib-writ.ads, lib-writ.adb: Remove separating space between
3491         parameters on R line.
3492         Makes format consistent with format used by the binder for Set_Globals
3493         call.
3494
3495         * osint.ads: Add 2004 to copyright notice
3496         Minor reformatting
3497
3498         * snames.ads: Correct capitalization of FIFO_Within_Priorities
3499         Noticed during code reading, documentation issue only
3500
3501         * usage.adb: Remove junk line for obsolete C switch
3502         Noticed during code reading
3503
3504 2004-02-12  Vincent Celier  <celier@gnat.com>
3505
3506         * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
3507         extend for each directory, so that multiple /** directories are
3508         extended individually.
3509         (Recursive_Process): Set the default for LANGUAGES to ada
3510
3511         * gprcmd.adb: Define new command "ignore", to do nothing.
3512         Implement new comment "path".
3513
3514         * Makefile.generic: Suppress output when SILENT is set
3515         Make sure that when compiler for C/C++ is gcc, the correct -x switch is
3516         used, so that the correct compiler is invoked.
3517         When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
3518         CXX_INCLUDE_PATH, to avoid failure with too long command lines.
3519
3520 2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
3521
3522         * Makefile.in: Clean ups and remove obsolete targets.
3523
3524 2004-02-12  Ed Schonberg  <schonberg@gnat.com>
3525
3526         * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
3527         predicate declared in exp_util.
3528
3529         * exp_util.adb: Add comments.
3530
3531         * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
3532         visibility before compiling context of the subunit.
3533
3534         * sem_res.adb (Check_Parameterless_Call): If the context expects a
3535         value but the name is a procedure, do not attempt to analyze as a call,
3536         in order to obtain more telling diagnostics.
3537
3538         * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
3539         'Access on parameterless function calls.
3540         (Normalize_Actuals): For a parameterless function call with missing
3541         actuals, defer diagnostic until resolution of enclosing call.
3542
3543         * sem_util.adb (Wrong_Type): If the context type is an access to
3544         subprogram and the expression is a procedure name, suggest a missing
3545         'attribute.
3546
3547 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
3548             Nathanael Nerode  <neroden@gcc.gnu.org>
3549
3550         PR ada/6637, PR ada/5911
3551         Merge with libada-branch:
3552         * config-lang.in: Build libada only when ada is built.
3553
3554 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
3555
3556         * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
3557         for a tagged type, verify that both formals have the same type.
3558
3559         * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
3560         temporary when the formal is an in-parameter and the actual a possibly
3561         unaligned slice.
3562
3563         * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
3564         when expansion is disabled, to ensure proper name capture with
3565         overloaded literals.  Condition can be of any boolean type, resolve
3566         accordingly.
3567
3568         * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
3569         renaming is for a formal subprogram with a default operator name, and
3570         there is a usable operator that is visible at the point of
3571         instantiation.
3572
3573 2004-02-09  Robert Dewar  <dewar@gnat.com>
3574
3575         * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
3576         rewrite to ignore errors in ali files, intended to allow tools downward
3577         compatibility with new versions of ali files.
3578
3579         * ali.ads: Add new parameter Ignore_Errors
3580
3581         * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
3582         duplicating the error message giving the file with restrictions.
3583
3584         * debug.adb: Add debug flag I for gnatbind
3585
3586         * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
3587         operators for the case where the operator is a defining operator.
3588
3589         * exp_ch3.adb: Minor reformatting (new function spec format).
3590
3591         * exp_ch4.adb: Add comment for previous change, and make minor
3592         adjustment to loop to always check for improper loop termination.
3593         Minor reformatting throughout (new function spec format).
3594
3595         * gnatbind.adb: Implement -di debug flag for gnatbind
3596
3597         * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
3598
3599         * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
3600
3601         * lib-load.adb: Fix bad assertion.
3602         Found by testing and code reading.
3603         Minor reformatting.
3604
3605         * lib-load.ads: Minor reformatting.
3606
3607         * lib-writ.adb: There is only one R line now.
3608
3609         * lib-writ.ads: Add documentation on making downward compatible changes
3610         to ali files so old tools work with new ali files.
3611         There is only one R line now.
3612         Add documentation on format incompatibilities (with special GPS note)
3613
3614         * namet.ads, namet.adb: (Is_Operator_Name): New procedure
3615
3616         * par-load.adb: Minor reformatting
3617
3618         * sem_ch8.adb: Fix to error message from last update
3619         Minor reformatting and restructuring of code from last update
3620
3621         * par-prag.adb, snames.adb, snames.ads, snames.h,
3622         sem_prag.adb: Implement pragma Profile.
3623
3624         * stylesw.adb: Implement -gnatyN switch to turn off all style check
3625         options.
3626
3627         * usage.adb: Add line for -gnatyN switch
3628
3629         * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
3630
3631 2004-02-09  Albert Lee  <lee@gnat.com>
3632
3633         * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
3634
3635 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
3636
3637         * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
3638         slices.
3639
3640         * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
3641         is nested in an instance that is not frozen yet, to avoid
3642         order-of-elaboration problems in gigi.
3643
3644         * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
3645         body the attribute is legal.
3646
3647 2004-02-09  Robert Dewar  <dewar@gnat.com>
3648
3649         * s-rident.ads: Minor comment correction
3650
3651         * targparm.adb: Remove dependence on uintp completely. There was
3652         always a bug in Make in that it called Targparm before initializing
3653         the Uint package. The old code appeared to get away with this, but
3654         the new code did not! This caused an assertion error in gnatmake.
3655
3656         * targparm.ads: Fix bad comment, restriction pragmas with parameters
3657         are indeed fully supported.
3658
3659 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
3660
3661         * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
3662
3663 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
3664
3665         * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
3666         with targetm.calls.promote_prototypes.
3667
3668 2004-02-04  Robert Dewar  <dewar@gnat.com>
3669
3670         * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
3671         ali.ads, gprcmd.adb: Minor reformatting
3672
3673         * bindgen.adb: Output restrictions string for new style restrictions
3674         handling
3675
3676         * impunit.adb: Add s-rident.ads (System.Rident) and
3677         s-restri (System.Restrictions)
3678
3679         * lib-writ.adb: Fix bug in writing restrictions string (last few
3680         entries wrong)
3681
3682         * s-restri.ads, s-restri.adb: Change name Restrictions to
3683         Run_Time_Restrictions to avoid conflict with package name.
3684         Add circuit to read and acquire run time restrictions.
3685
3686 2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
3687
3688         * restrict.ads, restrict.adb: Use the new restriction
3689         No_Task_Attributes_Package instead of the old No_Task_Attributes.
3690
3691         * sem_prag.adb: No_Task_Attributes is a synonym of
3692         No_Task_Attributes_Package.
3693
3694         * snames.ads, snames.adb: New entry for proper handling of
3695         No_Task_Attributes.
3696
3697         * s-rident.ads: Adding restriction No_Task_Attributes_Package
3698         (AI-00249) that supersedes the GNAT specific restriction
3699         No_Task_Attributes.
3700
3701 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
3702
3703         * sem_prag.adb:
3704         (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
3705          body, an identifier may be wrapped in an unchecked conversion.
3706
3707 2004-02-04  Vincent Celier  <celier@gnat.com>
3708
3709         * lib-writ.ads: Comment update for the W lines
3710
3711         * bld.adb: (Expression): An empty string list is static
3712
3713         * fname-uf.adb: Minor comment update
3714
3715         * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
3716
3717         * gnatbind.adb: Initialize Cumulative_Restrictions with the
3718         restrictions on the target.
3719
3720 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
3721
3722         * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
3723         gen_rtx.
3724
3725 2004-02-02  Arnaud Charlet  <charlet@gnat.com>
3726
3727         * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
3728
3729 2004-02-02  Vincent Celier  <celier@gnat.com>
3730
3731         * gprcmd.adb (Check_Args): If condition is false, print the invoked
3732         comment before the usage.
3733         Gprcmd: Fail when command is not recognized.
3734         (Usage): Document command "prefix"
3735
3736         * g-md5.adb (Digest): Process last block.
3737         (Update): Do not process last block. Store remaining characters and
3738         length in Context.
3739
3740         * g-md5.ads (Update): Document that several call to update are
3741         equivalent to one call with the concatenated string.
3742         (Context): Add fields to allow new Update behaviour.
3743
3744         * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
3745         defaulted to False.
3746         When May_Fail is True and no existing file can be found, return No_File.
3747
3748         * 6vcstrea.adb: Inlined functions are now wrappers to implementation
3749         functions.
3750
3751         * lib-writ.adb (Write_With_Lines): When body file does not exist, use
3752         spec file name instead on the W line.
3753
3754 2004-02-02  Robert Dewar  <dewar@gnat.com>
3755
3756         * ali.adb: Read and acquire info from new format restrictions lines
3757
3758         * bcheck.adb: Add circuits for checking restrictions with parameters
3759
3760         * bindgen.adb: Output dummy restrictions data
3761         To be changed later
3762
3763         * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
3764         exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
3765         freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
3766         sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
3767         sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
3768
3769         * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
3770         the warning message on access to possibly uninitialized variable S)
3771         Minor changes for new restrictions handling.
3772
3773         * gnatbind.adb: Minor reformatting
3774         Minor changes for new restrictions handling
3775         Move circuit for -r processing here from bcheck (cleaner)
3776
3777         * gnatcmd.adb, gnatlink.adb: Minor reformatting
3778
3779         * lib-writ.adb: Output new format restrictions lines
3780
3781         * lib-writ.ads: Document new R format lines for new restrictions
3782         handling.
3783
3784         * s-restri.ads/adb: New files
3785
3786         * Makefile.rtl: Add entry for s-restri.ads/adb
3787
3788         * par-ch3.adb: Fix bad error messages starting with upper case letter
3789         Minor reformatting
3790
3791         * restrict.adb: Major rewrite throughout for new restrictions handling
3792         Major point is to handle restrictions with parameters
3793
3794         * restrict.ads: Major changes in interface to handle restrictions with
3795         parameters. Also generally simplifies setting of restrictions.
3796
3797         * snames.ads/adb: New entry for proper handling of No_Requeue
3798
3799         * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
3800         restriction counting.
3801         Other minor changes for new restrictions handling
3802
3803         * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
3804         Restriction_Warnings now allows full parameter notation
3805         Major rewrite of Restrictions for new restrictions handling
3806
3807 2004-02-02  Javier Miranda  <miranda@gnat.com>
3808
3809         * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
3810         syntax rule for object renaming declarations.
3811         (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
3812         component definitions.
3813
3814         * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
3815         components.
3816         (Array_Type_Declaration): Give support to access components. In addition
3817         it was also modified to reflect the name of the object in anonymous
3818         array types. The old code did not take into account that it is possible
3819         to have an unconstrained anonymous array with an initial value.
3820         (Check_Or_Process_Discriminants): Allow access discriminant in
3821         non-limited types.
3822         (Process_Discriminants): Allow access discriminant in non-limited types
3823         Initialize the new Access_Definition field in N_Object_Renaming_Decl
3824         node.  Change Ada0Y to Ada 0Y in comments
3825
3826         * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
3827         equality operators.
3828         Change Ada0Y to Ada 0Y in comments
3829
3830         * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
3831         renamings Change Ada0Y to Ada 0Y in comments
3832
3833         * sem_type.adb (Find_Unique_Type): Give support to the equality
3834         operators for universal access types
3835         Change Ada0Y to Ada 0Y in comments
3836
3837         * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
3838
3839         * sinfo.ads (N_Component_Definition): Addition of Access_Definition
3840         field.
3841         (N_Object_Renaming_Declaration): Addition of Access_Definition field
3842         Change Ada0Y to Ada 0Y in comments
3843
3844         * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
3845         component definition and object renaming nodes
3846         Change Ada0Y to Ada 0Y in comments
3847
3848 2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
3849
3850         * restrict.adb: Use the new restriction identifier
3851         No_Requeue_Statements instead of the old No_Requeue for defining the
3852         restricted profile.
3853
3854         * sem_ch9.adb (Analyze_Requeue): Check the new restriction
3855         No_Requeue_Statements.
3856
3857         * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
3858         that supersedes the GNAT specific restriction No_Requeue. The later is
3859         kept for backward compatibility.
3860
3861 2004-02-02  Ed Schonberg  <schonberg@gnat.com>
3862
3863         * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
3864         5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
3865         pragma and fix incorrect ones.
3866
3867         * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
3868         warning if the pragma is redundant.
3869
3870 2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
3871
3872         * 5staprop.adb: Add missing 'constant' keywords.
3873
3874         * Makefile.in: use consistent value for SYMLIB on
3875         platforms where libaddr2line is supported.
3876
3877 2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3878
3879         * utils.c (end_subprog_body): Do not call rest_of_compilation if just
3880         annotating types.
3881
3882 2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
3883
3884         * init.c (__gnat_install_handler): Setup an alternate stack for signal
3885         handlers in the environment thread. This allows proper propagation of
3886         an exception on stack overflows in this thread even when the builtin
3887         ABI stack-checking scheme is used without support for a stack reserve
3888         region.
3889
3890         * utils.c (create_field_decl): Augment the head comment about bitfield
3891         creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
3892         here, because the former is not accurate enough at this point.
3893         Let finish_record_type decide instead.
3894         Don't make a bitfield if the field is to be addressable.
3895         Always set a size for the field if the record is packed, to ensure the
3896         checks for bitfield creation are triggered.
3897         (finish_record_type): During last pass over the fields, clear
3898         DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
3899         not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
3900         from DECL_BIT_FIELD.
3901
3902 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
3903
3904         * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
3905         (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
3906         (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
3907
3908 2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3909
3910         * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
3911
3912         * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
3913         (ZCX_By_Default): Likewise.
3914         (Front_End_ZCX_Support): Likewise.
3915
3916         * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
3917         (Initialize_Lock): Mark Level unreferenced.
3918         (Sleep): Mark Reason unreferenced.
3919         (Timed_Sleep): Likewise.
3920         (Wakeup): Likewise.
3921         (Exit_Task): Use Result.
3922         (Check_No_Locks): Mark Self_ID unreferenced.
3923
3924         * 5gtasinf.adb (New_Sproc): Make Attr constant.
3925         (Bound_Thread_Attributes): Make Sproc constant.
3926         (New_Bound_Thread_Attributes): Likewise.
3927
3928 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
3929
3930         * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
3931         one-dimensional array an slice assignments, when component type is
3932         controlled.
3933
3934         * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
3935         component type is controlled, and control_actions are in effect, use
3936         TSS procedure rather than generating inline code.
3937
3938         * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
3939         arrays with controlled components.
3940
3941 2004-01-26  Vincent Celier  <celier@gnat.com>
3942
3943         * gnatcmd.adb (GNATCmd): Add specification of argument file on the
3944         command line for the non VMS case.
3945
3946         * gnatlink.adb (Process_Binder_File): When building object file, if
3947         GNU linker is used, put all object paths between quotes, to prevent ld
3948         error when there are unusual characters (such as '!') in the paths.
3949
3950         * Makefile.generic: When there are sources in Ada and the main is in
3951         C/C++, invoke gnatmake with -B, instead of -z.
3952
3953         * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
3954         from VMS_Conversion.
3955         (Process_Argument): New procedure, extracted from VMS_Conversion. Add
3956         specification of argument file on the command line.
3957
3958 2004-01-26  Bernard Banner  <banner@gnat.com>
3959
3960         * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
3961
3962 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
3963
3964         * snames.adb: Update copyright notice.
3965         Add info on slice assignment for controlled arrays.
3966
3967 2004-01-23  Robert Dewar  <dewar@gnat.com>
3968
3969         * exp_aggr.adb: Minor reformatting
3970
3971         * exp_ch9.adb: Minor code clean up
3972         Minor reformatting
3973         Fix bad character in comment
3974
3975         PR ada/13471
3976         * targparm.adb (Get_Target_Parameters): Give clean abort error on
3977         unexpected end of file, along with more detailed message.
3978
3979 2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3980
3981         * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
3982         PAT.
3983
3984         * decl.c (copy_alias_set): New function.
3985         (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
3986
3987 2004-01-23  Doug Rupp  <rupp@gnat.com>
3988
3989         * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
3990         lib$${file} in case subsequent character is not a separator.
3991
3992 2004-01-23  Vincent Celier  <celier@gnat.com>
3993
3994         * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
3995         when the GCC version is at least 3.
3996
3997         * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
3998         Remove all "Opt.", to prepare for opt split
3999
4000         * prj-part.adb (Parse_Single_Project): New Boolean out parameter
4001         Extends_All. Set to True when the project parsed is an extending all
4002         project. Fails for importing an extending all project only when the
4003         imported project is an extending all project.
4004         (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
4005         depending on the value of Extends_All returned.
4006
4007         * prj-proc.adb (Process): Check that no project shares its object
4008         directory with a project that extends it, directly or indirectly,
4009         including a virtual project.
4010         Check that no project extended by another project shares its object
4011         directory with another also extended project.
4012
4013         * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
4014         Kind = N_With_Clause
4015
4016         * prj-tree.ads: Minor reformatting
4017         Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
4018
4019 2004-01-23  Ed Schonberg  <schonberg@gnat.com>
4020
4021         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
4022         applies to a type with an incomplete view, use full view in Name of
4023         clause, for consistency with uses of Get_Attribute_Definition_Clause.
4024
4025 2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
4026
4027         * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
4028         SCHED_RR, since other values are not supported by this policy.
4029         (Initialize): Move initialization of mutex attribute to package
4030         elaboration, to prevent early access to this variable.
4031
4032         * Makefile.in: Remove mention of Makefile.adalib, unused.
4033
4034         * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
4035         1ssecsta.ads: Removed, unused.
4036
4037 2004-01-21  Javier Miranda  <miranda@gnat.com>
4038
4039         * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
4040         entity if already built in the current scope.
4041
4042         * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
4043         reminder in internal scopes. Required for nested limited aggregates.
4044
4045 2004-01-21  Doug Rupp  <rupp@gnat.com>
4046
4047         * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
4048         VMS. Replace all occurences of libgnat- and libgnarl- with
4049         libgnat$(hyphen) and libgnarl$(hyphen).
4050         Fixed shared library build problem on VMS.
4051
4052 2004-01-21  Robert Dewar  <dewar@gnat.com>
4053
4054         * mlib-prj.adb: Minor reformatting
4055
4056 2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
4057
4058         * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
4059         'constant' keywords for declaration of pointers that are not modified.
4060
4061         * exp_pakd.adb: Fix English in comment.
4062
4063 2004-01-21  Ed Schonberg  <schonberg@gnat.com>
4064
4065         PR ada/10889
4066         * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
4067         copy all attributes of the parent, including the foreign language
4068         convention.
4069
4070 2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
4071
4072         PR ada/10565
4073         * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
4074         for 'delay until' statement.
4075
4076 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
4077
4078         * Make-lang.in: Replace $(docdir) with doc.
4079         (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
4080         doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
4081         to use consistent MAKEINFO rule.
4082         (ada.man, ada.srcman): Dummy entry.
4083         (ADA_INFOFILES): Define.
4084         (ada.info, ada.srcinfo): New rules.
4085
4086 2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
4087
4088         * utils.c: Update copyright notice, missed in previous change.
4089
4090 2004-01-19  Vincent Celier  <celier@gnat.com>
4091
4092         * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
4093         args if Bind is True. Set First_ALI, if not already done.
4094         (Build_Library): For Stand Alone Libraries, extract from one ALI file
4095         an eventual --RTS switch, for gnatbind, and all backend switches +
4096         --RTS, for linking.
4097
4098 2004-01-19  Robert Dewar  <dewar@gnat.com>
4099
4100         * sem_attr.adb, memtrack.adb: Minor reformatting
4101
4102 2004-01-19  Ed Schonberg  <schonberg@gnat.com>
4103
4104         * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
4105         that rename enumeration literals. This is properly done in sem_eval.
4106
4107         * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
4108         to functions that rename enumeration literals.
4109
4110         * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
4111         functions that rename enumeration literals.
4112
4113 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
4114
4115         * Make-lang.in (utils.o): Depend on target.h.
4116         * utils.c: Include target.h.
4117         (process_attributes): Use targetm.have_named_sections instead
4118         of ASM_OUTPUT_SECTION_NAME.
4119
4120 2004-01-16  Andreas Jaeger  <aj@suse.de>
4121
4122         * Makefile.in: Add $(DESTDIR).
4123
4124 2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
4125
4126         * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
4127         also when not defining if a Size clause applies. That information is
4128         not to be ignored.
4129
4130 2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
4131
4132         * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
4133         symbolic links for the shared gnat run time when needed.
4134
4135 2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
4136
4137         * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
4138         for writing, and terminate with an error message if not.
4139
4140 2004-01-15  Ed Schonberg  <schonberg@gnat.com>
4141
4142         * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
4143         warning on an access to subprogram in an instance, when the target
4144         type is declared in the same generic unit.
4145         (Eval_Attribute): If 'access is known to fail accessibility check,
4146         rewrite as a raise statement.
4147
4148 2004-01-15  GNAT Script  <nobody@gnat.com>
4149
4150         * Make-lang.in: Makefile automatically updated
4151
4152 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
4153
4154         * Make-lang.in (ada.srcextra): Dummy entry.
4155
4156 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
4157
4158         * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
4159
4160 2004-01-13  Ed Schonberg  <schonberg@gnat.com>
4161
4162         * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
4163         components that are initialized with aggregates.
4164
4165 2004-01-13  Vincent Celier  <celier@gnat.com>
4166
4167         * gnatlink.adb (Process_Binder_File): To find directory of shared
4168         libgcc, if "gcc-lib" is not a subdirectory, look for the last
4169         subdirectory "lib" in the path of the shared libgnat or libgnarl.
4170
4171         * make.adb (Gnatmake): If GCC version is at least 3, link with
4172         -shared-libgcc, when there is at least one shared library project.
4173
4174         * opt.ads (GCC_Version): New integer constant.
4175
4176         * adaint.c (get_gcc_version): New function.
4177
4178 2004-01-13  Robert Dewar  <dewar@gnat.com>
4179
4180         * sem_dist.adb, sem_res.adb, sem_util.adb,
4181         sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
4182         exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
4183
4184 2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
4185
4186         * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
4187         g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
4188         declarations.
4189
4190 2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
4191
4192         * misc.c: Remove trailing spaces.
4193         Update copyright notice missed in previous change.
4194
4195         PR ada/13572
4196         * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
4197         prefix/share/make
4198
4199         * Makefile.generic: Update copyright.
4200         Add license notice.
4201
4202         * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
4203         of prefix/share/make.
4204
4205         * Makefile.prolog: Update copyright.
4206         Add license notice.
4207
4208 2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
4209
4210         * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
4211         3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
4212         g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
4213         instead of String.
4214
4215         * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
4216         signature.
4217
4218 2004-01-12  Javier Miranda  <miranda@gnat.com>
4219
4220         * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
4221         exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
4222         sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
4223         sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
4224         Component_Definition node.
4225
4226 2004-01-12  Ed Falis  <falis@gnat.com>
4227
4228         * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
4229
4230 2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
4231
4232         * link.c: Change default libgnat kind to STATIC for FreeBSD.
4233
4234 2004-01-12  Bernard Banner  <banner@gnat.com>
4235
4236         * Makefile.in: map 86numaux to a-numaux for x86_64
4237
4238 2004-01-12  Ed Schonberg  <schonberg@gnat.com>
4239
4240         * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
4241         generated to rename a generic actual, go to the actual itself, the
4242         subtype is not a user-visible entity.
4243
4244         * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
4245         part is a private subtype, reset the visibility of its full view, if
4246         any, to be consistent.
4247
4248         PR ada/13417
4249         * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
4250         to use a generic package G as a formal package for another generic
4251         declared within G.
4252
4253 2004-01-12  Robert Dewar  <dewar@gnat.com>
4254
4255         * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
4256
4257         * usage.adb: Remove mention of obsolete -gnatwb switch
4258         Noticed during code reading
4259
4260 2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
4261
4262         * 1ssecsta.adb: Minor changes for -gnatwa warnings
4263
4264 2004-01-12  GNAT Script  <nobody@gnat.com>
4265
4266         * Make-lang.in: Makefile automatically updated
4267
4268 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
4269
4270         * misc.c (gnat_expand_expr): Add alt_rtl parameter.
4271
4272 2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4273
4274         * link.c [sgi] (shared_libgnat_default): Change to STATIC.
4275
4276 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
4277
4278         * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
4279         Update comment and copyright date.
4280         * stamp-xgnatug: Delete.
4281
4282 2004-01-05  Robert Dewar  <dewar@gnat.com>
4283
4284         * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
4285         be modified by the binder generated main program if the -D switch is
4286         used.
4287
4288         * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
4289         imported functions (since now we expect this to be done for imported
4290         functions)
4291
4292         * 5vtaprop.adb: Add several ??? for sections requiring more comments
4293         Minor reformatting throughout
4294
4295         * 5zinit.adb: Minor reformatting
4296         Add 2004 to copyright date
4297         Minor changes to avoid -gnatwa warnings
4298         Correct some instances of using OR instead of OR ELSE (noted while
4299         doing reformatting)
4300
4301         * sprint.adb: Minor updates to avoid -gnatwa warnings
4302
4303         * s-secsta.ads, s-secsta.adb:
4304         (SS_Get_Max): New function to obtain high water mark for ss stack
4305         Default_Secondary_Stack is not a constant since it may be modified by
4306         the binder generated main program if the -D switch is used.
4307
4308         * switch-b.adb: New -Dnnn switch for binder
4309
4310         * switch-c.adb:
4311         Make -gnatg imply all warnings currently in -gnatwa
4312
4313         * vms_conv.adb: Minor reformatting
4314         Add 2004 to copyright notice
4315         Add 2004 to printed copyright notice
4316
4317         * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
4318         3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
4319         5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
4320         5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
4321         5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
4322         5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
4323         5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
4324         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
4325         5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
4326         5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
4327         6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
4328         vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
4329         xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
4330         sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
4331         checks.adb, clean.adb, cstand.adb, einfo.ads,
4332         einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
4333         exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
4334         prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
4335         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
4336         g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
4337         lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
4338         Minor reformatting and code clean ups.
4339         Minor changes to prevent -gnatwa warnings
4340
4341         * ali.adb: Minor reformatting and cleanup of code
4342         Acquire new SS indication of secondary stack use from ali files
4343
4344         * a-numaux.ads: Add Pure_Function pragmas for all imported functions
4345         (since now we expect this to be done for imported functions)
4346
4347         * bindgen.adb: Generate call to modify default secondary stack size if
4348         -Dnnn switch given
4349
4350         * bindusg.adb: Add line for new -D switch
4351
4352         * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
4353         replacement name for Type_May_Have_Non_Bit_Aligned_Components!
4354         Add circuitry for both records and arrays to avoid gigi
4355         processing if the type involved has non-bit-aligned components
4356
4357         * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
4358         N_String_Literal node always references an E_String_Literal_Subtype
4359         entity. This may not be true in the future.
4360         (Possible_Bit_Aligned_Component): Move processing of
4361         Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
4362
4363         * exp_ch6.adb (Expand_Thread_Body): Pick up
4364         Default_Secondary_Stack_Size as variable so that we get value modified
4365         by possible -Dnnn binder parameter.
4366
4367         * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
4368         (Type_May_Have_Bit_Aligned_Components): New function.
4369
4370         * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
4371         (Type_May_Have_Bit_Aligned_Components): New function.
4372
4373         * fe.h: (Set_Identifier_Casing): Fix prototype.
4374         Add declaration for Sem_Elim.Eliminate_Error_Msg.
4375         Minor reformatting.
4376
4377         * freeze.adb (Freeze_Entity): Add RM reference to error message about
4378         importing constant atomic/volatile objects.
4379         (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
4380         unless explicit Pure_Function pragma given, to avoid insidious bug of
4381         call to non-pure imported function getting eliminated.
4382
4383         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
4384         gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
4385         gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
4386         Add 2004 to printed copyright notice
4387
4388         * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
4389         stack used.
4390
4391         * Makefile.rtl: Add entry for g-sestin.o
4392         g-sestin.ads: New file.
4393
4394         * mdll.adb: Minor changes to avoid -gnatwa warnings
4395
4396         * mlib-tgt.adb: Minor reformatting
4397
4398         * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
4399         New switch Sec_Stack_Used (GNAT, GNATBIND)
4400         Make Default_Secondary_Stack_Size a variable instead of a constant,
4401         so that it can be modified by the new -Dnnn bind switch.
4402
4403         * rtsfind.adb (Load_Fail): Give full error message in configurable
4404         run-time mode if all_errors mode is set. This was not done in the case
4405         of a file not found, which was an oversight.
4406         Note if secondary stack unit is used by compiler.
4407
4408         * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
4409         ineffective elaborate all pragmas on non-visible packages (this
4410         happened when a renamed subprogram was called). Now the elaborate all
4411         always goes on the package containing the renaming rather than the one
4412         containing the renamed subprogram.
4413
4414         * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
4415         (Process_Eliminate_Pragma): Add parameter to capture pragma location.
4416
4417         * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
4418         has an Etype that references an E_String_Literal.
4419         (Eval_String_Literal): Avoid assumption that N_String_Literal node
4420         always references an E_String_Literal_Subtype entity. This may not
4421         be true in the future.
4422
4423         * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
4424         pragma location.
4425
4426         * sem_res.adb (Resolve): Specialize msg for function name used in proc
4427         call.
4428
4429 2004-01-05  Ed Falis  <falis@gnat.com>
4430
4431         * g-debuti.adb: Replaced direct boolean operator with short-circuit
4432         form.
4433
4434 2004-01-05  Vincent Celier  <celier@gnat.com>
4435
4436         * bld.adb: Minor comment updates
4437         (Process_Declarative_Items): Correct incorrect name (Index_Name instead
4438         of Item_Name).
4439
4440         * make.adb (Gnatmake): Special process for files to compile/check when
4441         -B is specified. Fail when there are only foreign mains in attribute
4442         Main of the project file and -B is not specified. Do not skip bind/link
4443         steps when -B is specified.
4444
4445         * makeusg.adb: Document new switch -B
4446
4447         * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
4448
4449         * switch-m.adb: (Scan_Make_Switches): Process -B switch
4450
4451         * vms_data.ads: Add new GNAT PRETTY qualifier
4452         /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
4453
4454 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4455
4456         * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
4457         case.
4458
4459         * misc.c (gnat_printable_name): If VERBOSITY is 2, call
4460         Set_Identifier_Casing.
4461
4462         * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
4463         has size that overflows.
4464
4465 2004-01-05  Gary Dismukes  <dismukes@gnat.com>
4466
4467         * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
4468         -gnatwa warning on static condition.
4469
4470 2004-01-05  Doug Rupp  <rupp@gnat.com>
4471
4472         * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
4473
4474 2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
4475
4476         * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
4477         all attributes, including read-only attribute.
4478
4479 2004-01-05  Pascal Obry  <obry@gnat.com>
4480
4481         * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
4482         library naming scheme.
4483
4484         * mlib-prj.adb (Build_Library): Generate different names for the static
4485         or dynamic version of the GNAT runtime. This is needed to support the
4486         new shared library naming scheme.
4487         (Process_Binder_File): Add detection of shared library in binder file
4488         based on the new naming scheme.
4489
4490         * gnatlink.adb (Process_Binder_File): Properly detect the new naming
4491         scheme for the shared runtime libraries.
4492
4493         * Makefile.in:
4494         (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
4495         scheme.
4496         (install-gnatlib): Do not create symlinks for shared libraries.
4497         (gnatlib-shared-default): Idem.
4498         (gnatlib-shared-dual-win32): New target. Not used for now as the
4499         auto-import feature does not support arrays/records.
4500         (gnatlib-shared-win32): Do not create copy for the shared libraries.
4501         (gnatlib-shared-vms): Fix shared runtime libraries names.
4502
4503         * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
4504         dependent runtime shared library name.
4505
4506 2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
4507
4508         * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
4509         than the object.
4510
4511 2004-01-05  Ed Schonberg  <schonberg@gnat.com>
4512
4513         * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
4514         protected objects when allocator has a subtype indication, not a
4515         qualified expression. Note that qualified expressions may have to be
4516         checked when limited aggregates are implemented.
4517
4518         * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
4519         pure, emit warning.
4520         (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
4521         subprogram is imported, remove warning.
4522
4523 2004-01-05  Geert Bosch  <bosch@gnat.com>
4524
4525         * s-poosiz.adb: Update copyright notice.
4526         (Allocate): Use Task_Lock to protect against concurrent access.
4527         (Deallocate): Likewise.
4528
4529 2004-01-05  Joel Brobecker  <brobecker@gnat.com>
4530
4531         * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
4532         comment.
4533
4534 2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
4535
4536         * gnat_ug.texi: Force a CVS commit by updating copyright.
4537         * gnat_ug_vxw.texi: Regenerate.
4538         * gnat_ug_wnt.texi: Regenerate.
4539         * gnat_ug_vms.texi: Regenerate.
4540         * gnat_ug_unx.texi: Regenerate.
4541
4542 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
4543
4544         * trans.c: Remove uses of "register" specifier in
4545         declarations of local variables.
4546
4547 2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
4548
4549         * stamp-xgnatug: New stamp file.
4550         * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
4551         (ada/doctools/xgnatug): Add $(build_exeext).
4552         (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
4553         ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
4554
4555 2003-12-17  Ed Falis  <falis@gnat.com>
4556
4557         * a-elchha.adb (Tailored_Exception_Information): made Info constant to
4558         eliminate warning.
4559
4560         * a-exextr.adb: Add context clause for
4561         Ada.Exceptions.Last_Chance_Handler.
4562
4563 2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
4564
4565         * cstand.adb (Create_Standard): Change the way how the declaration of
4566         the Duration type is created (making it the same way as it is for all
4567         the other standard types).
4568
4569 2003-12-17  Robert Dewar  <dewar@gnat.com>
4570
4571         * s-crtl.ads: Fix header format
4572         Change Pure to Preelaborate
4573
4574 2003-12-17  Ed Schonberg  <schonberg@gnat.com>
4575
4576         * checks.adb (Selected_Length_Checks): Generate an Itype reference for
4577         the expression type only if it is declared in the current unit.
4578
4579         * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
4580         are universal and already analyzed, as can occur in constrained
4581         subcomponents that depend on discriminants, when one constraint is a
4582         subtype mark.
4583
4584         * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
4585         type Any_Fixed is legal as the argument of a conversion, if only one
4586         fixed-point type is in context.
4587
4588 2003-12-17  GNAT Script  <nobody@gnat.com>
4589
4590         * Make-lang.in: Makefile automatically updated
4591
4592 2003-12-15  Robert Dewar  <dewar@gnat.com>
4593
4594         * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
4595         sec stack size.
4596
4597 2003-12-15  Vincent Celier  <celier@gnat.com>
4598
4599         * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
4600         (Gnatchop): Do not set failure status when reporting the number of
4601         warnings.
4602
4603 2003-12-15  Doug Rupp  <rupp@gnat.com>
4604
4605         * s-ctrl.ads: New file.
4606
4607         * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
4608
4609         * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
4610         (GNATBIND_OBJS): Add ada/s-crtl.o.
4611
4612         * Makefile.in [VMS]: Clean up ifeq rules.
4613
4614         * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
4615         a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
4616         g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
4617         s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
4618         s-tasdeb.adb: Update copyright.
4619         Import System.CRTL.
4620         Make minor modifications to use System.CRTL declared functions instead
4621         of importing locally.
4622
4623 2003-12-15  GNAT Script  <nobody@gnat.com>
4624
4625         * Make-lang.in: Makefile automatically updated
4626
4627 2003-12-11  Ed Falis  <falis@gnat.com>
4628
4629         * 5zinit.adb: Clean up.
4630
4631         * 5zintman.adb (Notify_Exception): replaced case statement with a call
4632         to __gnat_map_signal, imported from init.c to support
4633         signal -> exception mappings that depend on the vxWorks version.
4634
4635         * init.c:
4636         Created and exported __gnat_map_signal to support signal -> exception
4637         mapping that is dependent on the VxWorks version.
4638         Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
4639
4640 2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
4641
4642         * 5wosinte.ads: Link with -mthreads switch.
4643
4644 2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
4645
4646         * init.c (__gnat_install_handler [NetBSD]): Set
4647         __gnat_handler_installed, as done on all other platforms.
4648         Remove duplicated code.
4649
4650 2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
4651
4652         * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
4653
4654 2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
4655
4656         * sinfo.ads: Fix inconsistent example code in comment.
4657
4658 2003-12-11  Robert Dewar  <dewar@gnat.com>
4659
4660         * a-tiinau.adb: Add a couple of comments
4661
4662         * sem_ch3.adb: Minor reformatting
4663
4664         * sem_prag.adb:
4665         Fix bad prototype of Same_Base_Type in body (code reading cleanup)
4666         Minor reformatting throughout
4667
4668 2003-12-11  Ed Schonberg  <schonberg@gnat.com>
4669
4670         * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
4671         bounds of a loop, create a separate block in order to generate proper
4672         cleanup actions to prevent memory leaks.
4673
4674         * sem_res.adb (Resolve_Call): After a call to
4675         Establish_Transient_Scope, the call may be rewritten and relocated, in
4676         which case no further processing is needed.
4677
4678         * sem_util.adb: (Wrong_Type): Refine previous fix.
4679          Fixes ACATS regressions.
4680
4681         PR ada/13353
4682
4683         * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
4684         be inlined.
4685
4686 2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
4687
4688         * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
4689         i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
4690         obsolete files.
4691
4692         * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
4693         (rts-zfp): Ditto.
4694
4695 2003-12-08  Robert Dewar  <dewar@gnat.com>
4696
4697         * 7sintman.adb: Minor reformatting
4698
4699         * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
4700         standard linker options to get standard libraries linked. We now plan
4701         to provide dummy versions of these libraries to match the appropriate
4702         configurable run-time (e.g. if a library is not needed at all, provide
4703         a dummy empty library).
4704
4705         * targparm.ads: Configurable_Run_Time mode no longer affects linker
4706         options (-L parameters and standard libraries). What we plan to do is
4707         to provide dummy libraries where the libraries are not required.
4708
4709         * gnatbind.adb: Minor comment improvement
4710
4711 2003-12-08  Javier Miranda  <miranda@gnat.com>
4712
4713         * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
4714         aggregate in the parent. Otherwise constants with limited aggregates
4715         are not supported. Add new formal to pass the component type (Ctype).
4716         It is required to call the corresponding IP subprogram in case of
4717         default initialized components.
4718         (Gen_Assign): In case of default-initialized component, generate a
4719         call to the IP subprogram associated with the component.
4720         (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
4721         of aggregate with default initialized components.
4722         (Has_Default_Init_Comps): Improve implementation to recursively check
4723         all the present expressions.
4724
4725         * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
4726         to indicate that the initialization call corresponds to a
4727         default-initialized component of an aggregate.
4728         In case of default initialized aggregate with tasks this parameter is
4729         used to generate a null string (this is just a workaround that must be
4730         improved later). In case of discriminants, this parameter is used to
4731         generate a selected component node that gives access to the discriminant
4732         value.
4733
4734         * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
4735         subprogram, based on Build_Task_Allocate_Block, but adapted to expand
4736         allocated aggregates with default-initialized components.
4737
4738         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
4739         the box notation is used in positional aggregates.
4740
4741 2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
4742
4743         * lib.ads: Fix typo in comment
4744
4745 2003-12-08  Vincent Celier  <celier@gnat.com>
4746
4747         * prj.adb (Project_Empty): New component Unkept_Comments
4748         (Scan): Remove procedure; moved to Prj.Err.
4749
4750         * prj.ads (Project_Data): New Boolean component Unkept_Comments
4751         (Scan): Remove procedure; moved to Prj.Err.
4752
4753         * prj-dect.adb: Manage comments for the different declarations.
4754
4755         * prj-part.adb (With_Record): New component Node
4756         (Parse): New Boolean parameter Store_Comments, defaulted to False.
4757         Set the scanner to return ends of line and comments as tokens, if
4758         Store_Comments is True.
4759         (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
4760         comments are associated with these nodes. Store the node IDs in the
4761         With_Records.
4762         (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
4763         With_Records.
4764         (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
4765         the N_Project node. Call Tree.Save and Tree.Reset before scanning the
4766         current project. Call Tree.Restore afterwards. Set the various nodes
4767         for comment storage (Next_End, End_Of_Line, Previous_Line,
4768         Previous_End).
4769
4770         * prj-part.ads (Parse): New Boolean parameter Store_Comments,
4771         defaulted to False.
4772
4773         * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
4774         to False. When Truncated is True, truncate the string, never go to the
4775         next line.
4776         (Write_End_Of_Line_Comment): New procedure
4777         (Print): Process comments for nodes N_With_Clause,
4778         N_Package_Declaration, N_String_Type_Declaration,
4779         N_Attribute_Declaration, N_Typed_Variable_Declaration,
4780         N_Variable_Declaration, N_Case_Construction, N_Case_Item.
4781         Process nodes N_Comment.
4782
4783         * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
4784         without comments and there are some comments, set the flag
4785         Unkept_Comments to True.
4786         (Scan): If there are comments, set the flag Unkept_Comments to True and
4787         clear the comments.
4788         (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
4789         (Next_End_Nodes: New table
4790         (Comment_Zones_Of): New function
4791         (Scan): New procedure; moved from Prj. Accumulate comments in the
4792         Comments table and set end of line comments, comments after, after end
4793         and before end.
4794         (Add_Comments): New procedure
4795         (Save, Restore, Seset_State): New procedures
4796         (There_Are_Unkept_Comments): New function
4797         (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
4798         (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
4799         procedures.
4800         (First_Comment_After, First_Comment_After_End): New functions
4801         (First_Comment_Before, First_Comment_Before_End): New functions
4802         (Next_Comment): New function
4803         (End_Of_Line_Comment, Follows_Empty_Line,
4804         Is_Followed_By_Empty_Line): New functions
4805         (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
4806         (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
4807         (Set_Next_Comment): New procedure
4808         (Default_Project_Node): Associate comment before if the node can store
4809         comments.
4810
4811         * scans.ads (Token_Type): New enumeration value Tok_Comment
4812         (Comment_Id): New global variable
4813
4814         * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
4815         defaulted to False.
4816         (Scan): Store position of start of comment. If comments are tokens, set
4817         Comment_Id and set Token to Tok_Comment when scanning a comment.
4818         (Set_Comment_As_Token): New procedure
4819
4820         * sinput-p.adb: Update Copyright notice
4821         (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
4822         that no longer exists.
4823
4824 2003-12-08  Javier Miranda  <miranda@gnat.com>
4825
4826         * sem_aggr.adb: Add dependence on Exp_Tss package
4827         Correct typo in comment
4828         (Resolve_Aggregate): In case of array aggregates set the estimated
4829         type of the aggregate before calling resolve. This is needed to know
4830         the name of the corresponding IP in case of limited array aggregates.
4831         (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
4832         in case of default initialized array components.
4833
4834         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
4835         types. Required to give support to limited aggregates in generic
4836         formals.
4837
4838 2003-12-08  Ed Schonberg  <schonberg@gnat.com>
4839
4840         * sem_ch3.adb (Check_Initialization): For legality purposes, an
4841         inlined body functions like an instantiation.
4842         (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
4843         until bounds are analyzed, to diagnose premature use of type.
4844
4845         * sem_util.adb (Wrong_Type): Improve error message when the type of
4846         the expression is used prematurely.
4847
4848 2003-12-08  GNAT Script  <nobody@gnat.com>
4849
4850         * Make-lang.in: Makefile automatically updated
4851
4852 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
4853
4854         * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
4855         they are automatically generated by Make-lang.in and cause nothing but
4856         maintenance troubles.
4857
4858 2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
4859
4860         * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
4861         version of this unit).
4862
4863 2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
4864
4865         * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
4866         5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
4867         5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
4868         the body of System.Interrupt_Management common to several targets.
4869         Update copyright notice when appropriate.
4870
4871         * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
4872         constant.
4873
4874         * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
4875         to ensure that the kernel fills in the interrupted context structure
4876         before calling a signal handler, which is necessary to be able to
4877         unwind past it. Update the copyright notice.
4878
4879 2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
4880
4881         * a-elchha.ads: New file.
4882
4883         * a-elchha.adb: New default last chance handler. Contents taken from
4884         Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
4885
4886         * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
4887         is moved to a-elchha.adb to provide a target-independent default last
4888         chance handler.
4889
4890         * Makefile.rtl: Add a-elchha.o
4891
4892         * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
4893
4894 2003-12-05  Ed Schonberg  <schonberg@gnat.com>
4895
4896         * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
4897         declared in an instance, do not inline the call if the instance is not
4898         frozen yet, to prevent order of elaboration problems.
4899
4900         * sem_prag.adb: Add comments for previous fix.
4901
4902 2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
4903
4904         * g-table.adb: Use the right variable in Set_Item.
4905         Update copyright notice.
4906
4907 2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
4908
4909         * Makefile.in: Remove unused rules.
4910
4911 2003-12-05  Vincent Celier  <celier@gnat.com>
4912
4913         * switch-c.adb (Scan_Front_End_Switches): Remove processing of
4914         -nostdlib. Not needed here after all.
4915
4916 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
4917
4918         PR ada/11724
4919
4920         * adaint.h, adaint.c, g-os_lib.ads:
4921         Do not assume that the offset argument to lseek(2) is a 32 bit integer,
4922         on some platforms (including FreeBSD), it is a 64 bit value.
4923         Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
4924
4925 2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
4926
4927         * gnatvsn.ads (Library_Version): Now contain only the relevant
4928         version info.
4929         (Verbose_Library_Version): New constant.
4930
4931         * g-spipat.adb, g-awk.adb, g-debpoo.adb,
4932         g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
4933         s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
4934
4935         * gnatlbr.adb: Clean up: replace Library_Version by
4936         Verbose_Library_Version.
4937
4938         * make.adb, lib-writ.adb, exp_attr.adb:
4939         Clean up: replace Library_Version by Verbose_Library_Version.
4940
4941         * 5lintman.adb: Removed.
4942
4943         * Makefile.in:
4944         Update and simplify computation of LIBRARY_VERSION.
4945         Fix computation of GSMATCH_VERSION.
4946         5lintman.adb is no longer used: replaced by 7sintman.adb.
4947
4948 2003-12-03  Robert Dewar  <dewar@gnat.com>
4949
4950         * exp_ch5.adb:
4951         (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
4952         name. Modified to consider small non-bit-packed arrays as troublesome
4953         and in need of component-by-component assigment expansion.
4954
4955 2003-12-03  Vincent Celier  <celier@gnat.com>
4956
4957         * lang-specs.h: Process nostdlib as nostdinc
4958
4959         * back_end.adb: Update Copyright notice
4960         (Scan_Compiler_Arguments): Process -nostdlib directly.
4961
4962 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
4963
4964         * Makefile.in:
4965         When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
4966         redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
4967         included in HIE_NONE_TARGET_PAIRS.
4968
4969 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
4970
4971         * sem_attr.adb:
4972         (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
4973         is legal in an instance, because legality is cheched in the template.
4974
4975         * sem_prag.adb:
4976         (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
4977         appplied to an unchecked conversion of a formal parameter.
4978
4979         * sem_warn.adb:
4980         (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
4981         variables.
4982
4983 2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
4984
4985         * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
4986         routines. The second one is new functionality to deal with backtracing
4987         through signal handlers.
4988         (unwind): Split into the two separate subroutines above.
4989         Update the documentation, and deal properly with sizeof (REG) different
4990         from sizeof (void*).
4991
4992 2003-12-01  Nicolas Setton  <setton@act-europe.fr>
4993
4994         * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
4995         so that the debugger can reliably access the value of the parameter,
4996         and therefore is able to display the exception name when an exception
4997         breakpoint is reached.
4998
4999 2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
5000
5001         * fmap.adb: Fix typo in warning message.
5002
5003         * g-socket.ads, g-socket.adb: Make Free a visible instance of
5004         Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
5005
5006 2003-12-01  Vincent Celier  <celier@gnat.com>
5007
5008         * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
5009         ther is no Afile.
5010         (Build_Library): Get the switches only if Default_Switches is declared
5011         in package Binder.
5012
5013 2003-12-01  Ed Schonberg  <schonberg@gnat.com>
5014
5015         * exp_ch6.adb (Expand_Actuals): When applying validity checks to
5016         actuals that are indexed components, reanalyze actual to ensure that
5017         packed array references are properly expanded.
5018
5019         * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
5020         attempted assignment to a discriminant.
5021
5022 2003-12-01  Robert Dewar  <dewar@gnat.com>
5023
5024         * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
5025         reformatting.
5026
5027         * switch-c.adb: Minor reformatting of comments
5028
5029 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
5030
5031         * Makefile.in: Clean ups.
5032
5033 2003-12-01  GNAT Script  <nobody@gnat.com>
5034
5035         * Make-lang.in: Makefile automatically updated
5036
5037 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
5038
5039         * 5wsystem.ads: Disable zero cost exception, not ready yet.
5040
5041 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
5042
5043         * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
5044         to force serialization.
5045
5046 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
5047
5048         * g-socket.ads, g-socket.adb:
5049         Clarify documentation of function Stream. Introduce a Free procedure
5050         to release the returned Stream once it becomes unused.
5051
5052         * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
5053
5054 2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
5055
5056         (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
5057         since NT 4 cannot handle timeout values that are too large,
5058         e.g. DWORD'Last - 1.
5059
5060 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
5061
5062         * exp_ch4.adb:
5063         (Expand_N_Slice): Recognize all cases of slices that appear as actuals
5064         in procedure calls and whose expansion must be deferred.
5065
5066         * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
5067         is in exp_ch4.
5068
5069         * sem_ch3.adb:
5070         (Build_Derived_Array_Type): Create operator for unconstrained type
5071         if ancestor is unconstrained.
5072
5073 2003-11-26  Vincent Celier  <celier@gnat.com>
5074
5075         * make.adb (Project_Object_Directory): New global variable
5076         (Change_To_Object_Directory): New procedure
5077         (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
5078         of Change_Dir directly. Do not change working directory to object
5079         directory of main project after each compilation.
5080         (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
5081         directly.
5082         Change to object directory of main project before binding step.
5083         (Initialize): Initialize Project_Object_Directory to No_Project
5084
5085         * mlib-prj.adb:
5086         (Build_Library): Take into account Builder'Default_Switches ("Ada") when
5087         binding a Stand-Alone Library.
5088
5089         * output.adb: Update Copyright notice
5090         (Write_Char): Output buffer when full
5091
5092 2003-11-26  Robert Dewar  <dewar@gnat.com>
5093
5094         * sem_ch13.adb: (Check_Size): Reset size if size is too small
5095
5096         * sem_ch13.ads:
5097         (Check_Size): Fix documentation to include bit-packed array case
5098
5099         * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
5100
5101         * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
5102
5103         * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
5104
5105 2003-11-24  Arnaud Charlet <charlet@act-europe.fr>
5106
5107         PR ada/13142
5108         * utils.c (init_gigi_decls): Change name of built-in setjmp to
5109         __builtin_setjmp, since this is apparently needed by recent
5110         non Ada changes.
5111
5112 2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5113
5114         * adadecode.c: Only include ctype.h if not IN_GCC.
5115         (__gnat_decode): Use ISDIGIT from safe-ctype.h.
5116
5117 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
5118
5119         * Makefile.in:
5120         Use 5zintman.ads for VxWorks targets. This file avoid confusion between
5121         signals and interrupts.
5122
5123         * 5zintman.ads: New File.
5124
5125         * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
5126         add exception signals to the set of unmasked signals.
5127
5128         * 5ztaprop.adb:
5129         Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
5130         between signals and interrupts.
5131         Add to Unblocked_Signal_Mask the set of signals that are in
5132         Keep_Unmasked.
5133
5134         * 7sinmaop.adb:
5135         Adding a check to see whether the Interrupt_ID we want to unmask is in
5136         the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
5137         reason is that the index type of the Keep_Unmasked array is not always
5138         Interrupt_ID; it may be a subtype of Interrupt_ID.
5139
5140 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
5141
5142         * exp_util.adb:
5143         (Remove_Side_Effects): Condition constantness of object created for a
5144          an unchecked type conversion on the constantness of the expression
5145          to ensure the correct value for 'Constrained when passing components
5146          of view-converted class-wide objects.
5147
5148 2003-11-24  Robert Dewar  <dewar@gnat.com>
5149
5150         * par-load.adb (Load): Improve handling of misspelled and missing units
5151         Removes several cases of compilation abandoned messages
5152
5153         * lib.adb: (Remove_Unit): New procedure
5154
5155         * lib.ads: (Remove_Unit): New procedure
5156
5157         * lib-load.adb: Minor reformatting
5158
5159 2003-11-24  Vincent Celier  <celier@gnat.com>
5160
5161         * make.adb:
5162         (Gnatmake, Initialize): Call Usage instead of Makeusg directly
5163         (Marking_Label): Label to mark processed source files. Incremented for
5164         each executable.
5165         (Gnatmake): Increase Marking_Labet for each executable
5166         (Is_Marked): Compare against marking label
5167         (Mark): Mark with marking label
5168
5169 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
5170
5171         * s-thread.ads:
5172         Move the declaration of the TSD for System.Threads to System.Soft_Links.
5173         Add some comments.
5174
5175         * Makefile.in: Added target pair for s-thread.adb for cert runtime.
5176         (rts-cert): build a single relocatable object for the run-time lib.
5177         Fix perms.
5178
5179 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
5180
5181         * Make-lang.in:
5182         Use gnatls rather than gcc to obtain the location of GNAT RTL for
5183         crosstools build.
5184
5185 2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
5186
5187         * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
5188         can not use it as before (that is, as a variable) when dumping it into
5189         the tree file. Add a local variable to store the result of this
5190         function and to be used as the string to be written into the tree.
5191
5192         * scn.adb (Initialize_Scanner): Add comments explaining the recent
5193         changes.
5194
5195         * sinput.adb (Source_First, Source_Last): In case of
5196         Internal_Source_File, replace returning attributes of
5197         Internal_Source_Ptr (which is wrong) with returning attributes of
5198         Internal_Source.
5199
5200 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
5201
5202         * sem_ch3.adb:
5203         (New_Concatenation_Op): Proper name for New_Binary_Operator, only
5204         used for implicit concatenation operators.
5205         Code cleanup.
5206
5207         * sem_elab.adb:
5208         (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
5209         task bodies that are in the scope of a Suppress pragma.
5210         (Check_A Call): Use the flag to prevent spurious elaboration checks.
5211
5212         * sinfo.ads, sinfo.adb:
5213         New flag No_Elaboration_Check on function/procedure calls, to properly
5214         suppress checks on calls in task bodies that are within a local suppress
5215         pragma.
5216
5217         * exp_ch4.adb:
5218         (Expand_Concatenate_Other): Use the proper integer type for the
5219         expression for the upper bound, to avoid universal_integer computations
5220         when possible.
5221
5222 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
5223
5224         * .cvsignore: Delete.
5225
5226 2003-11-21  Andreas Schwab  <schwab@suse.de>
5227
5228         * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
5229
5230 2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
5231
5232         * 5wsystem.ads: Enable zero cost exception.
5233
5234 2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
5235
5236         * 5ztiitho.adb: Remove an unreferenced variable.
5237
5238 2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
5239
5240         * adaint.c: For FreeBSD, use mkstemp.
5241
5242 2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
5243
5244         * gnatlbr.adb: Now reference Gnat_Static_Version_String.
5245
5246 2003-11-21  Robert Dewar  <dewar@gnat.com>
5247
5248         * bld.adb: Remove useless USE of gnatvsn
5249
5250         * gnatchop.adb: Minor reformatting
5251         Clean up version handling to be more consistent
5252
5253         * gnatxref.adb: Minor reformatting
5254
5255         * gprcmd.adb: Minor reformatting
5256         Fix output of copyright to be more consistent with other tools
5257
5258 2003-11-21  Vincent Celier  <celier@gnat.com>
5259
5260         * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
5261
5262 2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
5263
5264         * atree.adb (Initialize): Add initializations for global variables
5265         used in New_Copy_Tree.
5266
5267         * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
5268         Internal_Source_File as the actual).
5269         Put the set of statements creating Any_Character before the set of
5270         statements creating Any_Array to have Any_Character fully initialized
5271         when it is used in creating Any_Array.
5272
5273         * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
5274         not call Scan in case if the actual is Internal_Source_File
5275         Add 2003 to copyright note.
5276
5277         * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
5278         processing Internal_Source_File.
5279
5280         * types.ads: Add the constant Internal_Source_File representing the
5281         source buffer for artificial source-code-like strings created within
5282         the compiler (the definition of Source_File_Index is changed).
5283
5284 2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
5285
5286         * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
5287         56system.ads: New file, FreeBSD version.
5288
5289 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
5290
5291         * Make-lang.in (ada.extraclean): Delete.
5292
5293 2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
5294
5295         * gnatmem.adb: Clean up verbose output.
5296
5297         * gprcmd.adb: Change copyright to FSF.
5298
5299 2003-11-19  Vincent Celier  <celier@gnat.com>
5300
5301         * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
5302         and Version (ignored).
5303
5304         * symbols.ads: (Policy): New type
5305         (Initialize): New parameter Reference, Symbol_Policy and
5306         Library_Version.
5307         Remove parameter Force.
5308         Minor reformatting.
5309
5310         * snames.ads, snames.adbadb: New standard names
5311         Library_Reference_Symbol_File and Library_Symbol_Policy
5312
5313         * mlib-prj.adb:
5314         (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
5315         project.
5316
5317         * mlib-tgt.adb:
5318         (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
5319
5320         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
5321
5322         * prj.adb: (Project_Empty): New component Symbol_Data
5323
5324         * prj.ads: (Policy, Symbol_Record): New types
5325         (Project_Data): New component Symbol_Data
5326
5327         * prj-attr.adb:
5328         New attributes Library_Symbol_File, Library_Symbol_Policy and
5329         Library_Reference_Symbol_File.
5330
5331         * prj-nmsc.adb:
5332         (Ada_Check): When project is a Stand-Alone library project, process
5333         attribute Library_Symbol_File, Library_Symbol_Policy and
5334         Library_Reference_Symbol_File.
5335
5336         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
5337         5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
5338         5sml-tgt.adb (Build_Dynamic_Library): New parameter
5339         Symbol_Data (ignored).
5340
5341         * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
5342         (Build_Dynamic_Library): New parameter Symbol_Data. New internal
5343         functions Option_File_Name and Version_String. Set new options of
5344         gnatsym related to symbol file, symbol policy and reference symbol
5345         file.
5346
5347         * 5vsymbol.adb:
5348         Extensive modifications to take into account the reference symbol file,
5349         the symbol policy, the library version and to put in the symbol file the
5350         minor and major IDs.
5351
5352         * bld.adb (Process_Declarative_Items): Put second argument of
5353         gprcmd to_absolute between single quotes, to avoid problems with
5354         Windows.
5355
5356         * bld-io.adb: Update Copyright notice.
5357         (Flush): Remove last character of a line, if it is a back slash, to
5358         avoid make problems.
5359
5360         * gnatsym.adb:
5361         Implement new scheme with reference symbol file and symbol policy.
5362
5363         * g-os_lib.ads: (Is_Directory): Clarify comment
5364
5365 2003-11-19  Robert Dewar  <dewar@gnat.com>
5366
5367         * atree.adb: Move New_Copy_Tree global variables to head of package
5368
5369         * errout.adb: Minor reformatting
5370
5371 2003-11-19  Javier Miranda  <miranda@gnat.com>
5372
5373         * sem_ch4.adb: (Diagnose_Call): Improve error message.
5374         Add reference to Ada0Y (AI-50217)
5375
5376         * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
5377         sem_util.adb: Add reference to AI-50217
5378
5379         * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
5380
5381         * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
5382
5383         * sem_aggr.adb: Complete documentation of AI-287 changes
5384
5385         * par-ch4.adb: Document previous changes.
5386
5387         * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
5388         sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
5389         Ada0Y (AI-50217)
5390
5391         * exp_aggr.adb: Add references to AI-287 in previous changes
5392
5393 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
5394
5395         * exp_ch6.adb:
5396         (Add_Call_By_Copy_Node): Do not original node of rewritten expression
5397         in the rewriting is the result of an inlined call.
5398
5399         * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
5400         parameter is a type conversion, use original node to construct the
5401         post-call assignment, because expression may have been rewritten, e.g.
5402         if it is a packed array.
5403
5404         * sem_attr.adb:
5405         (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
5406         body, just as it is in an instance.
5407         Categorization routines
5408
5409         * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
5410         Instantiate_Object): Set proper sloc reference for message on missing
5411         actual.
5412
5413 2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
5414
5415         * Makefile.in: Add FreeBSD libgnat pairs.
5416
5417         * usage.adb: Fix typo in usage message.
5418
5419 2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
5420
5421         * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
5422         s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
5423         pragma Thread_Body.
5424         Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
5425
5426         * s-thread.adb: This file is now a dummy implementation of
5427         System.Thread.
5428
5429 2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
5430
5431         * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
5432
5433 2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
5434
5435         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
5436         instanciation references in the parent type description.
5437
5438 2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5439
5440         * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
5441
5442         * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
5443         TYPE_PRECISION directly from esize.
5444
5445 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
5446
5447         * cstreams.c:
5448         Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
5449
5450         * init.c: Initialization routines for FreeBSD
5451
5452         * link.c: Link info for FreeBSD
5453
5454         * sysdep.c: Add the case of FreeBSD
5455
5456 2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
5457
5458         * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
5459         already called in System.Threads.
5460
5461         * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
5462         environment task, as it has been moved to System.Threads.Initialization.
5463
5464 2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
5465
5466         * adaint.c (__gnatlib_install_locks): Only reference
5467         __gnat_install_locks on VMS, since other platforms can avoid using
5468         --enable-threads=gnat
5469
5470 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5471
5472         * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
5473
5474         * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
5475         TYPE_PACKED_ARRAY_TYPE_P.
5476         (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
5477
5478         Part of PR ada/12806
5479         * utils.c (float_type_for_precision): Renamed from float_type_for_size.
5480         Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
5481
5482 2003-11-17  Vincent Celier  <celier@gnat.com>
5483
5484         * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
5485         to False.
5486         Do not set exit status to Failure when Warning is True.
5487         (Gnatchop): Make errors "no compilation units found" and
5488         "no source files written" warnings only.
5489
5490         * make.adb (Gnatmake): When using a project file, set
5491         Look_In_Primary_Dir to False.
5492         (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
5493         and Local_Configuration_Pragmas in the project where they are declared
5494         not an extending project which might have inherited them.
5495
5496         * osint.adb (Locate_File): If Name is already an absolute path, do not
5497         look for a directory.
5498
5499         * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
5500         -gnats (Check_Syntax) is used, issue only a warning, not an error.
5501
5502         * prj.adb (Register_Default_Naming_Scheme): Add new component Project
5503         in objects of type Variable_Value.
5504
5505         * prj.ads: (Variable_Value): New component Project
5506
5507         * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
5508         is in a project extended by Project.
5509
5510         * prj-proc.adb (Add_Attributes): New parameter Project. Set component
5511         Project of Variable_Values to this new parameter value.
5512         (Expression): Set component Project of Variable_Values.
5513         (Process_Declarative_Items): Call Add_Attributes with parameter Project.
5514         Set the component Project in array elements.
5515
5516 2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
5517
5518         * errout.adb: (Initialize): Add initialization for error nodes.
5519
5520         * sem_ch12.adb (Initialize): Add missing initializations for
5521         Exchanged_Views and Hidden_Entities.
5522
5523 2003-11-17  Ed Schonberg  <schonberg@gnat.com>
5524
5525         * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
5526         already instantiated tree for use in subsequent inlining.
5527         (Analyze_Associations, Instantiate_Formal_Subprogram,
5528         Instantiate_Object): improve error message for mismatch in
5529         instantiations.
5530
5531         * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
5532         instantiations of subprograms declared in instances.
5533
5534 2003-11-17  Javier Miranda  <miranda@gnat.com>
5535
5536         * sem_ch4.adb (Analyze_Allocator): Previous modification must be
5537         executed only under the Extensions_Allowed flag.
5538
5539 2003-11-17  Robert Dewar  <dewar@gnat.com>
5540
5541         * a-exexda.adb (Address_Image): Fix documentation to indicate leading
5542         zeroes suppressed.
5543         (Address_Image): Fix bug of returning 0x instead of 0x0
5544         Minor reformatting (function specs).
5545
5546         * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
5547         (missed case of 33-63)
5548
5549         * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
5550
5551         * s-thread.adb: Add comments for pragma Restriction
5552
5553         * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
5554         sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
5555
5556 2003-11-17  Ed Falis  <falis@gnat.com>
5557
5558         * s-thread.adb: Added No_Tasking restriction for this implementation.
5559
5560 2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
5561
5562         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
5563         instanciation references in the parent type description.
5564
5565 2003-11-17  GNAT Script  <nobody@gnat.com>
5566
5567         * Make-lang.in: Makefile automatically updated
5568
5569 2003-11-16  Jason Merrill  <jason@redhat.com>
5570
5571         * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
5572         and TAGS files that include them for each front end.
5573
5574 2003-11-14  Andreas Jaeger  <aj@suse.de>
5575
5576         * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
5577         is the canonical version.
5578         * misc.c (gnat_handle_option): Likewise.
5579
5580         * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
5581
5582         * 5nsystem.ads: New file for x86_64-linux-gnu.
5583
5584 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
5585
5586         * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
5587
5588         * comperr.adb: Fix logic in previous change.
5589
5590 2003-11-13  Vincent Celier  <celier@gnat.com>
5591
5592         * 5bml-tgt.adb (Build_Dynamic_Library): Use
5593         Osint.Include_Dir_Default_Prefix instead of
5594         Sdefault.Include_Dir_Default_Name.
5595
5596         * gnatlbr.adb: Update Copyright notice
5597         (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
5598         Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
5599         instead of Sdefault.Object_Dir_Default_Name
5600
5601         * gnatlink.adb:
5602         (Process_Binder_File): Never suppress the option following -Xlinker
5603
5604         * mdll-utl.adb:
5605         (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
5606         Sdefault.Object_Dir_Default_Name.
5607
5608         * osint.ads, osint.adb:
5609         (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
5610         Minor reformatting.
5611
5612         * vms_conv.ads: Minor reformating
5613         Remove GNAT STANDARD and GNAT PSTA
5614
5615         * vms_conv.adb:
5616         Allow GNAT MAKE to have several files on the command line.
5617         (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
5618         Sdefault.Object_Dir_Default_Name.
5619         Minor Reformating
5620         Remove data for GNAT STANDARD
5621
5622         * vms_data.ads:
5623         Add new compiler qualifier /PRINT_STANDARD (-gnatS)
5624         Remove data for GNAT STANDARD
5625         Remove options and documentation for -gnatwb/-gnatwB: these warning
5626         options no longer exist.
5627
5628 2003-11-13  Ed Falis  <falis@gnat.com>
5629
5630         * 5zthrini.adb: (Init_RTS): Made visible
5631
5632         * 5zthrini.adb:
5633         (Register): Removed unnecessary call to taskVarGet that checked whether
5634          an ATSD was already set as a task var for the argument thread.
5635
5636         * s-thread.adb:
5637         Updated comment to reflect that this is a VxWorks version
5638         Added context clause for System.Threads.Initialization
5639         Added call to System.Threads.Initialization.Init_RTS
5640
5641 2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
5642
5643         * 5zthrini.adb:
5644         (Init_RTS): New procedure, for the initialization of the run-time lib.
5645
5646         * s-thread.adb:
5647         Remove dependancy on System.Init, so that this file can be used in the
5648         AE653 sequential run-time lib.
5649
5650 2003-11-13  Robert Dewar  <dewar@gnat.com>
5651
5652         * bindgen.adb: Minor reformatting
5653
5654 2003-11-13  Ed Schonberg  <schonberg@gnat.com>
5655
5656         * checks.adb:
5657         (Apply_Discriminant_Check): Do no apply check if target type is derived
5658         from source type with no applicable constraint.
5659
5660         * lib-writ.adb:
5661         (Ensure_System_Dependency): Do not apply the style checks that may have
5662         been specified for the main unit.
5663
5664         * sem_ch8.adb:
5665         (Find_Selected_Component): Further improvement in error message, with
5666         RM reference.
5667
5668         * sem_res.adb:
5669         (Resolve): Handle properly the case of an illegal overloaded protected
5670         procedure.
5671
5672 2003-11-13  Javier Miranda  <miranda@gnat.com>
5673
5674         * exp_aggr.adb:
5675         (Has_Default_Init_Comps): New function to check the presence of
5676         default initialization in an aggregate.
5677         (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
5678         extension aggregate of a limited record. In addition, a new formal
5679         was added to do not initialize the record controller (if any) during
5680         this recursive expansion of ancestors.
5681         (Init_Controller): Add support for limited record components.
5682         (Expand_Record_Aggregate): In case of default initialized components
5683         convert the aggregate into a set of assignments.
5684
5685         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
5686         describing the new syntax.
5687         Nothing else needed to be done because this subprogram delegates part of
5688         its work to P_Precord_Or_Array_Component_Association.
5689         (P_Record_Or_Array_Component_Association): Give support to the new
5690         syntax for default initialization of components.
5691
5692         * sem_aggr.adb:
5693         (Resolve_Aggregate): Relax the strictness of the frontend in case of
5694         limited aggregates.
5695         (Resolve_Record_Aggregate): Give support to default initialized
5696         components.
5697         (Get_Value): In case of default initialized components, duplicate
5698         the corresponding default expression (from the record type
5699         declaration). In case of default initialization in the *others*
5700         choice, do not check that all components have the same type.
5701         (Resolve_Extension_Aggregate): Give support to limited extension
5702         aggregates.
5703
5704         * sem_ch3.adb:
5705         (Check_Initialization): Relax the strictness of the front-end in case
5706         of aggregate and extension aggregates. This test is now done in
5707         Get_Value in a per-component manner.
5708
5709         * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
5710         expression corresponds to a limited aggregate. This test is now done
5711         in Get_Value.
5712
5713         * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
5714         Box_Present flag.
5715
5716         * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
5717         present in an N_Component_Association node
5718
5719 2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
5720
5721         * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
5722         type-conformant entry only if they are homographs.
5723
5724 2003-11-13  GNAT Script  <nobody@gnat.com>
5725
5726         * Make-lang.in: Makefile automatically updated
5727
5728 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5729
5730         * adadecode.c: Use <> form of include for ctype.h.
5731         * sysdep.c [IN_RTS]: Use <> form of include for time.h.
5732
5733 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5734
5735         * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
5736         Works around PR middle-end/6552.
5737
5738 2003-11-10  Ed Falis  <falis@gnat.com>
5739
5740         * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
5741
5742         * 5zinit.adb: (Install_Handler): Moved back to spec
5743         (Install_Signal_Handlers): Deleted
5744
5745         * 5zthrini.adb: Added context clause for System.Storage_Elements
5746         (Register): Only handles creation of taskVar; initialization moved to
5747         Thread_Body_Enter.
5748         (Reset_TSD): Deleted; replaced by Thread_Body_Enter
5749         Added declaration of environment task secondary stack and
5750         initialization.
5751
5752         * s-thread.adb: Implement bodies for thread body processing
5753
5754         * s-thread.ads:
5755         Added comment identifying supported targets for pragma Thread_Body.
5756
5757 2003-11-10  Pascal Obry  <obry@gnat.com>
5758
5759         * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
5760         GNAT_MAX_PATH_LEN.
5761
5762         * s-fileio.adb:
5763         (Open): Properly check for string length before copying into the buffer.
5764         Raises Name_Error if buffer is too small. Note that this was a potential
5765         buffer overflow.
5766
5767 2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
5768
5769         * bindgen.adb, comperr.adb: Code clean ups.
5770         * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
5771
5772 2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
5773
5774         * gnat1drv.adb: Add call to Sem_Elim.Initialize.
5775
5776 2003-11-10  Vincent Celier  <celier@gnat.com>
5777
5778         * gprcmd.adb:
5779         (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
5780         installation.
5781
5782         * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
5783
5784         * prj.adb: (Project_Empty): Add new boolean component Virtual
5785
5786         * prj.ads: (Virtual_Prefix): New constant string
5787         (Project_Data): New boolean component Virtual
5788
5789         * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
5790         a library project is extended by a virtual extending project.
5791
5792         * prj-part.adb:
5793         Modifications throughout to implement extending-all project, including:
5794         (Virtual_Hash, Processed_Hash): New hash tables
5795         (Create_Virtual_Extending_Project): New procedure
5796         (Look_For_Virtual_Projects_For): New procedure
5797
5798         * prj-proc.adb:
5799         (Process): After checking the projects, if main project is an
5800         extending-all project, set the object directory of all virtual extending
5801         project to the object directory of the main project.
5802         Adjust error message when a virtual extending project has the same
5803         object directory as an project being extended.
5804         (Recursive_Process): If name starts with the virtual prefix, set Virtual
5805         to True in the project data.
5806
5807         * prj-tree.adb:
5808         (Default_Project_Node): Add new boolean component Extending_All
5809         (Is_Extending_All): New function
5810         (Set_Is_Extending_All): New procedure
5811
5812         * prj-tree.ads: (Is_Extending_All): New function
5813         (Set_Is_Extending_All): New procedure
5814         (Project_Node_Record): New boolean component Extending_All
5815
5816         * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
5817
5818         * vms_data.ads:
5819         Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
5820
5821         * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
5822         "gprcmd prefix" to define it.
5823
5824 2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
5825
5826         * einfo.ads: Fix a typo and remove an extraneous word in comments.
5827
5828         * lib-load.adb:
5829         (Create_Dummy_Package_Unit): Set the scope of the entity for the
5830         created dummy package to Standard_Standard, not to itself, to
5831         defend other parts of the front-end against encoutering a cycle in
5832         the scope chain.
5833
5834         * sem_ch10.adb:
5835         (Analyze_With_Clause): When setting the entities for the successive
5836         N_Expanded_Names that constitute the name of a child unit, do not
5837         attempt to go further than Standard_Standard in the chain of scopes.
5838         This case arises from the placeholder units created by
5839         Create_Dummy_Package_Unit in the case of a with_clause for a
5840         nonexistent child unit.
5841
5842 2003-11-10  Ed Schonberg  <schonberg@gnat.com>
5843
5844         * exp_ch6.adb:
5845         (Expand_Thread_Body): Place subprogram on scope stack, so that new
5846         declarations are given the proper scope.
5847
5848         * sem_ch13.adb:
5849         (Check_Expr_Constants): Reject an expression that contains a constant
5850         created during expansion, and that appears after the object to which
5851         the address clause applies.
5852
5853         * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
5854         Analyze_Iteration_Scheme, to rewrite a loop parameter specification
5855         that uses 'Range of a function call with controlled components, so
5856         that the function result can be finalized before starting the loop.
5857
5858         * sem_ch8.adb:
5859         (Find_Selected_Component): Improve error message when prefix is
5860         an implicit dereference of an incomplete type.
5861
5862 2003-11-10  Robert Dewar  <dewar@gnat.com>
5863
5864         * opt.ads: New Print_Standard flag for -gnatS switch
5865
5866         * sem_ch13.adb: Remove some additional checks for unaligned arrays
5867
5868         * cstand.adb (Create_Standard): Print out package standard if -gnatS
5869         switch set
5870
5871         * debug.adb: Update doc for -gnatds to discuss relationship with new
5872         -gnatS flag
5873
5874         * sinfo.adb: Add new field Entity_Or_Associated_Node
5875
5876         * sinfo.ads: Add new field Entity_Or_Associated_Node
5877         Update documentation for Associated_Node and Entity fields to clarify
5878         relationship and usage.
5879
5880         * sprint.adb:
5881         (Write_Id): Properly process Associated_Node field in generic template
5882
5883         * switch-c.adb:
5884         Recognize new -gnatS switch for printing package Standard
5885         This replaces gnatpsta
5886
5887         * usage.adb:
5888         Add line for  new -gnatS switch for printing package Standard
5889         This replaces gnatpsta
5890
5891 2003-11-10  Andreas Jaeger  <aj@suse.de>
5892
5893         * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
5894         integer.
5895
5896 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
5897
5898         * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
5899         by gnat1.
5900
5901 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
5902
5903         * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
5904         no longer needed.
5905
5906         * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
5907
5908         * sysdep.c: Add handling of cygwin.
5909
5910 2003-11-10  GNAT Script  <nobody@gnat.com>
5911
5912         * Make-lang.in: Makefile automatically updated
5913
5914 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
5915
5916         PR 12950
5917         * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
5918         functions. Used to handle dynamic prefix relocation, via set_std_prefix.
5919         Replace GNAT_ROOT by GCC_ROOT.
5920
5921         * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
5922
5923 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
5924
5925         * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
5926         and update for changed meaning of GET_MODE_BITSIZE.
5927
5928 2003-11-04  Doug Rupp  <rupp@gnat.com>
5929
5930         * sysdep.c: Problem discovered during IA64 VMS port.
5931         [VMS] #include <unixio.h> to get proper prototypes.
5932
5933         * adaint.c:
5934         Issues discovered/problems fixed during IA64 VMS port.
5935         [VMS] #define _POSIX_EXIT for proper semantics.
5936         [VMS] #include <unixio.h> for proper prototypes.
5937         [VMS] (fork): #define IA64 version.
5938         (__gnat_os_exit): Remove unnecessary VMS specific code.
5939
5940 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5941
5942         Part of PR ada/12806
5943
5944         * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
5945         tree, not integer.
5946
5947         * decl.c:
5948         (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
5949         not integer.
5950
5951         * targtyps.c, decl.c, misc.c,
5952         gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
5953         routines to work around change in FP sizing semantics in GCC.
5954
5955         * utils.c:
5956         (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
5957
5958         * gigi.h: (enumerate_modes): New function.
5959
5960         * Make-lang.in: (ada/misc.o): Add real.h.
5961
5962         * misc.c: (enumerate_modes): New function.
5963
5964 2003-11-04  Robert Dewar  <dewar@gnat.com>
5965
5966         * 3vtrasym.adb: Minor reformatting
5967         Use terminology encoded/decoded name, rather than C++ specific notion
5968         of mangling (this is the terminology used throughout GNAT).
5969
5970         * einfo.h: Regenerated
5971
5972         * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
5973
5974         * exp_ch6.adb:
5975         (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
5976
5977         * par-prag.adb: Add dummy entry for Thread_Body pragma
5978
5979         * rtsfind.ads:
5980         Add entries for System.Threads entities for thread body processing
5981
5982         * sem_attr.adb:
5983         (Analyze_Pragma, Access attributes): Check these are not applied to a
5984         thread body, since this is not permitted
5985
5986         * sem_prag.adb: Add processing for Thread_Body pragma.
5987         Minor comment fix.
5988
5989         * sem_res.adb:
5990         (Resolve_Call): Check for incorrect attempt to call a thread body
5991          procedure with a direct call.
5992
5993         * snames.ads, snames.adb: Add entry for Thread_Body pragma
5994         Add names associated with thread body expansion
5995
5996         * snames.h: Add entry for Thread_Body pragma
5997
5998         * s-thread.adb: Add entries for thread body processing
5999         These are dummy bodies so far
6000
6001         * s-thread.ads: Add documentation on thread body handling.
6002         Add entries for thread body processing.
6003
6004 2003-11-04  Javier Miranda  <miranda@gnat.com>
6005
6006         * sem_ch10.adb:
6007         (Build_Limited_Views): Return after posting an error in case of limited
6008         with_clause on subprograms, generics, instances or generic renamings
6009         (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
6010         on subprograms, generics, instances or generic renamings
6011
6012 2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
6013
6014         * raise.c (setup_to_install): Correct mistake in last revision; two
6015         arguments out of order.
6016
6017         * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
6018         gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
6019         notice, missed in previous change.
6020         Remove trailing blanks and other style errors introduced in previous
6021         change.
6022
6023 2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
6024
6025         * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
6026         rid of the wrapper for a LJM type, ensuring we don't do that if the
6027         field is addressable.  This avoids potential low level type view
6028         mismatches later on, for instance in a by-reference argument passing
6029         process.
6030
6031 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6032
6033         * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
6034         aligned at byte boundary.
6035
6036 2003-11-04  Joel Brobecker  <brobecker@gnat.com>
6037
6038         * decl.c (components_to_record): Do not delete the empty variants from
6039         the end of the union type.
6040
6041 2003-11-04  Ed Schonberg  <schonberg@gnat.com>
6042
6043         * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
6044         operation for a derived type, an explicit declaration may use a local
6045         subtype of Boolean.
6046
6047 2003-11-04  Vincent Celier  <celier@gnat.com>
6048
6049         * make.adb (Gnatmake): Allow main sources on the command line with a
6050         library project when it is only for compilation (no binding or
6051         linking).
6052
6053 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6054
6055         * Makefile.in: Remove many duplicate variables.
6056
6057 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
6058
6059         * Make-lang.in (dvi): Move targets to $(docobjdir).
6060         (gnat_ug_vms.dvi): Simplify rule and adjust target.
6061         (gnat_ug_wnt.dvi): Likewise.
6062         (gnat_ug_unx.dvi): Likewise.
6063         (gnat_ug_vxw.dvi): Likewise.
6064         (gnat_rm.dvi): Likewise.
6065         (gnat-style.dvi): Likewise.
6066
6067 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
6068
6069         * gigi.h: Missed commit from update for C90.
6070
6071 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
6072
6073         * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
6074
6075 2003-10-31  Andreas Schwab  <schwab@suse.de>
6076
6077         * raise.c (get_action_description_for): Fix typo in last change.
6078
6079 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
6080
6081         PR ada/12761
6082         * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
6083         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
6084
6085 2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
6086
6087         * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
6088         ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
6089         gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
6090         sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
6091         trans.c, utils.c, utils2.c: Convert function prototypes to C90.
6092
6093 2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
6094
6095         * 3vtrasym.adb:
6096         Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
6097         numbers when symbol name is too long.
6098
6099 2003-10-30  Ed Falis  <falis@gnat.com>
6100
6101         * g-signal.ads, g-signal.adb: New files
6102
6103         * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
6104
6105         * Makefile.rtl: Introduce GNAT.Signals
6106
6107 2003-10-30  Robert Dewar  <dewar@gnat.com>
6108
6109         * freeze.adb: Minor reformatting
6110
6111         * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
6112
6113         * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
6114         par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
6115         New handling of Id_Check parameter to improve recognition of keywords
6116         used as identifiers.
6117         Update copyright notice to include 2003
6118
6119 2003-10-29  Robert Dewar  <dewar@gnat.com>
6120
6121         * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
6122         sem_ch10.adb: Minor reformatting
6123
6124         * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
6125         (Expand_Assign_Record): Test right hand side for bit unaligned as well
6126
6127 2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
6128
6129         * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
6130         Support for TBK$SYMBOLIZE-based symbolic traceback.
6131
6132 2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
6133
6134         * exp_disp.adb:
6135         Revert previous change, that did not work well when pragma No_Run_Time
6136         was used in conjunction with a run-time other than ZFP.
6137
6138 2003-10-29  Vincent Celier  <celier@gnat.com>
6139
6140         * make.adb:
6141         (Gnatmake): When there are no Ada mains in attribute Main, disable the
6142          bind and link steps only is switch -z is not used.
6143
6144 2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
6145
6146         * Makefile.generic: Remove duplicated setting of CC.
6147
6148         * Makefile.prolog: Set CC to gcc by default, to override make's
6149         default (cc).
6150
6151         * einfo.h: Regenerated.
6152
6153 2003-10-29  Ed Schonberg  <schonberg@gnat.com>
6154
6155         * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
6156         current body, after compiling subunit.
6157
6158         * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
6159         when in deleted code, because gigi needs properly ordered freeze
6160         actions to annotate types.
6161
6162         * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
6163         prevent the premature freezing of record type that contains
6164         subcomponents with a private type that does not yet have a completion.
6165
6166 2003-10-29  Javier Miranda  <miranda@gnat.com>
6167
6168         * sem_ch12.adb:
6169         (Analyze_Package_Instantiation): Check that instances can not be used in
6170         limited with_clauses.
6171
6172         * sem_ch8.adb:
6173         (Analyze_Package_Renaming): Check that limited withed packages cannot
6174         be renamed. Improve text on error messages related to limited
6175         with_clauses.
6176
6177         * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
6178
6179         * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
6180         Update copyright notice.
6181
6182         * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
6183         (Install_Limited_Context_Clauses): New subprogram that isolates all the
6184         checks required for limited context_clauses and installs the limited
6185         view.
6186         (Install_Limited_Withed_Unit): Complete its documentation.
6187         (Analyze_Context): Check that limited with_clauses are only allowed in
6188         package specs.
6189         (Install_Context): Call Install_Limited_Context_Clauses after the
6190         parents have been installed.
6191         (Install_Limited_Withed_Unit): Add documentation. Mark the installed
6192         package as 'From_With_Type'; this mark indicates that the limited view
6193         is installed. Used to check bad usages of limited with_clauses.
6194         (Build_Limited_Views): Do not add shadow entities to the scope's list
6195         of entities. Do not add real entities to the Non_Limited_Views chain.
6196         Improve error notification.
6197         (Remove_Context_Clauses): Remove context clauses in two phases:
6198         limited views first and regular views later (to maintain the
6199         stack model).
6200         (Remove_Limited_With_Clause): If the package is analyzed then reinstall
6201         its visible entities.
6202
6203 2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
6204
6205         * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
6206         with any type that Is_Fixed_Point_Type.
6207
6208         * sinfo.ads: Fix documentation for Associated_Node attribute.
6209
6210 2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
6211
6212         * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
6213         both '-gnatc' and '-gnatt' are specified.
6214
6215         * atree.adb (Initialize): Add initialization for Node_Count (set to
6216         zero).
6217
6218 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6219
6220         * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
6221         do not consider as Pure.
6222
6223         Part of implementation of function-at-a-time:
6224
6225         * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
6226         (tree_transform): Add new argument to build_component_ref.
6227         (tree_transform, case N_Assignment_Statement): Make and return an
6228         EXPR_STMT.
6229         (tree_transform): If result IS_STMT, set flags and return it.
6230         (gnat_expand_stmt, set_lineno_from_sloc): New functions.
6231
6232         * utils2.c (build_simple_component_ref, build_component_ref): Add new
6233         arg, NO_FOLD_P.
6234         (build_binary_op, case EQ_EXPR): Pass additional arg to it.
6235         (build_allocator): Likewise.
6236
6237         * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
6238         Add new arg to build_component_ref.
6239         (maybe_unconstrained_array, unchecked_convert): Likewise.
6240
6241         * ada-tree.def (EXPR_STMT): New code.
6242
6243         * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
6244
6245         * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
6246         build_component_ref calls.
6247
6248         * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
6249
6250         * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
6251         (build_component_ref): Add new argument, NO_FOLD_P.
6252
6253 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
6254
6255         * Makefile.generic: Add missing substitution on object_deps handling.
6256
6257         PR ada/5909:
6258         * Make-lang.in (check-ada): Enable ACATS test suite.
6259
6260 2003-10-27  Robert Dewar  <dewar@gnat.com>
6261
6262         * exp_ch3.adb:
6263         (Freeze_Array_Type): We do not need an initialization routine for types
6264         derived from String or Wide_String. They should be treated the same
6265         as String and Wide_String themselves. This caused problems with the
6266         use of Initialize_Scalars.
6267
6268         * exp_ch5.adb:
6269         (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
6270         composites. This allows use of component clauses that are not byte
6271         aligned.
6272
6273         * sem_prag.adb:
6274         (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
6275         is an attempt to pack an array of atomic objects.
6276
6277         * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
6278
6279 2003-10-27  Pascal Obry  <obry@gnat.com>
6280
6281         * g-dirope.adb:
6282         (Basename): Check for drive letters in a pathname only on DOS based OS.
6283
6284 2003-10-27  Vincent Celier  <celier@gnat.com>
6285
6286         * make.adb:
6287         (Gnatmake): When unable to change dir to the object dir, display the
6288         content of the parent dir of the obj dir, to try to understand why this
6289         happens.
6290
6291 2003-10-27  GNAT Script  <nobody@gnat.com>
6292
6293         * Make-lang.in: Makefile automatically updated
6294
6295 2003-10-27  Ed Schonberg  <schonberg@gnat.com>
6296
6297         * sem_ch12.adb:
6298         (Inline_Instance_Body): Indicate that the save/restore of use_clauses
6299         should not be done in Save/Restore_Scope_Stack, because it is performed
6300         locally.
6301
6302         * sem_ch8.adb:
6303         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
6304         whether use clauses should be removed/restored.
6305
6306         * sem_ch8.ads:
6307         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
6308         whether use clauses should be removed/restored.
6309
6310 2003-10-26  Andreas Jaeger  <aj@suse.de>
6311
6312         * Makefile.in: Remove duplicated lines.
6313
6314 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
6315
6316         * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
6317         minimize the differences with ACT tree.
6318
6319         * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
6320         gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
6321         Gnatvsn.Gnat_Static_Version_String to reduce differences between
6322         ACT and FSF trees.
6323
6324 2003-10-24  Pascal Obry  <obry@gnat.com>
6325
6326         * adadecode.c (ostrcpy): New function.
6327         (__gnat_decode): Use ostrcpy of strcpy.
6328         (has_prefix): Set first parameter a const.
6329         (has_suffix): Set first parameter a const.
6330         Update copyright notice. Fix source name in header.
6331         Removes a trailing space.
6332         PR ada/12014.
6333
6334 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
6335
6336         * exp_disp.adb:
6337         Remove the test against being in No_Run_Time_Mode before generating a
6338         call to Register_Tag. It is redundant with the test against the
6339         availability of the function Register_Tag.
6340
6341 2003-10-24  Vincent Celier  <celier@gnat.com>
6342
6343         * g-catiio.adb: (Month_Name): Correct spelling of February
6344
6345         * make.adb: (Mains): New package
6346         (Initialize): Call Mains.Delete
6347         (Gnatmake): Check that each main on the command line is a source of a
6348         project file and, if there are several mains, each of them is a source
6349         of the same project file.
6350         (Gnatmake): When a foreign language is specified in attribute Languages,
6351         no main is specified on the command line and attribute Mains is not
6352         empty, only build the Ada main. If there is no Ada main, just compile
6353         the Ada sources and their closure.
6354         (Gnatmake): If a main is specified on the command line with directory
6355         information, check that the source exists and, if it does, that the path
6356         is the actual path of a source of a project.
6357
6358         * prj-env.adb:
6359         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
6360         Full_Path is True, return the full path instead of the simple file name.
6361         (Project_Of): New function
6362
6363         * prj-env.ads:
6364         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
6365         defaulted to False.
6366         (Project_Of): New function
6367
6368 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
6369
6370         * Makefile.generic:
6371         Ensure objects of main project are always checked and rebuilt if needed.
6372         Set CC to gcc by default.
6373         Prepare new handling of link by creating a global archive (not activated
6374         yet).
6375
6376         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
6377         stringt.h: Update copyright notice. Remove trailing blanks.
6378         Fix source name in header.
6379
6380 2003-10-24  Robert Dewar  <dewar@gnat.com>
6381
6382         * sem_ch12.adb: Minor reformatting
6383
6384         * sem_ch3.adb:
6385         Minor reformatting (including new function return style throughout)
6386
6387         * sem_ch3.ads:
6388         Minor reformatting (including new function return style throughout)
6389
6390 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
6391
6392         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
6393         stringt.h: Update copyright notice. Remove trailing blanks.
6394         Fix source name in header.
6395
6396 2003-10-24  GNAT Script  <nobody@gnat.com>
6397
6398         * Make-lang.in: Makefile automatically updated
6399
6400 2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
6401
6402         * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
6403         stringt.h: Convert to ISO C90 declarations and definitions.
6404
6405 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
6406
6407         PR ada/11978:
6408         * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
6409         External_Tag attribute definition clauses.
6410
6411 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
6412
6413         PR ada/7613:
6414         * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
6415         child unit, generate a fully qualified name to avoid spurious errors
6416         when the context contains renamings of different child units with
6417         the same simple name.
6418
6419         * exp_dbug.ads: Add documentation on name qualification for renamings
6420         of child units.
6421
6422 2003-10-23  Robert Dewar  <dewar@gnat.com>
6423
6424         * g-regpat.ads, g-regpat.adb: Minor reformatting
6425
6426 2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
6427
6428         * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
6429
6430 2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6431
6432         * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
6433         Machine call.
6434
6435         * urealp.h: (Machine): Update to proper definition.
6436
6437 2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
6438
6439         * init.c, adaint.c: Minor reformatting.
6440
6441 2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
6442
6443         * adaint.c (w32_epoch_offset): Define static const at file level.
6444         (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
6445         rather than t_create, t_access in call to GetFileTime. Use union
6446         to convert between FILETIME and  unsigned long long.
6447         (__gnat_file_time_name): Test for invalid file handle.
6448         (__gnat_set_filetime_name): Support win32 targets using
6449         w32api SetFileTime.
6450
6451 2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
6452
6453         * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
6454
6455         * ctrl_c.c (__gnat_int_handler): Remove declaration.
6456
6457         * decl.c (creat_concat_name):  Const-ify prefix.
6458
6459         * adaint.c: Include ctype.h if __MINGW32__.
6460         (__gnat_readlink): Mark arguments as possibly unused.
6461         (__gnat_symlink): Likewise.
6462         (__gnat_is_symbolic_link): Likewise.
6463         (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
6464         declaration
6465         (__gnat_file_time_name): Don't declare struct stat statbuf when
6466         not needed.
6467         (__gnat_is_absolute_path): Add parenthesis around condition of
6468         'if' statement to avoid warning.
6469         (__gnat_plist_init): Specify void as parameter.
6470         (plist_enter): Likewise.
6471         (plist_leave): Likewise.
6472         (remove_handle): Make static. Initialize prev.
6473
6474 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
6475
6476         * Makefile.in: Disable build of gnatpsta. PR ada/10110.
6477         * cstreams.c (__gnat_full_name): Minor improvements and clean up
6478         of previous change.
6479
6480 2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6481
6482         * tracebak.c (MAX): Avoid redefinition warning.
6483
6484         * init.c [sgi] (__gnat_error_handler): Remove i, unused.
6485         Change msg to const char *.
6486         (__gnat_install_handler): Remove ss, unused.
6487         [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
6488         to const char *.
6489         * cstreams.c (__gnat_full_name): Declare p only when used.
6490         (__gnat_full_name) [sgi] Return buffer.
6491
6492 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
6493
6494         * mingw32.h: New file.
6495         * gnat_wrapper.adb: New file.
6496
6497 2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
6498
6499         * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
6500         string match a pre compiled regular expression (the corresponding
6501         version of the function working on a raw regular expression)
6502         Fix typos in various comments
6503         Update copyright notice in spec
6504
6505 2003-10-21  Gary Dismukes  <dismukes@gnat.com>
6506
6507         * exp_ch3.adb:
6508         (Component_Needs_Simple_Initialization): Return False when the type is a
6509         packed bit array. Revise spec comments to document this case.
6510
6511         * exp_prag.adb:
6512         (Expand_Pragma_Import): Set any expression on the imported object to
6513         empty to avoid initializing imported objects (in particular this
6514         covers the case of zero-initialization of bit arrays).
6515         Update copyright notice.
6516
6517 2003-10-21  Ed Schonberg  <schonberg@gnat.com>
6518
6519         * sem_ch12.adb:
6520         (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
6521         a subunit is missing.
6522         (Instantiate_Subprogram_Body): If body of function is missing, set type
6523         of return expression explicitly in dummy body, to prevent cascaded
6524         errors when a subunit is missing.
6525         Fixes PR 5677.
6526
6527         * sem_ch3.adb:
6528         (Access_Subprogram_Declaration): Verify that return type is valid.
6529         Fixes PR 8693.
6530
6531         * sem_elab.adb:
6532         (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
6533         generic.
6534         Fixes PR 12318.
6535
6536         * sem_util.adb:
6537         (Corresponding_Discriminant): If the scope of the discriminant is a
6538         private type without discriminant, use its full view.
6539         Fixes PR 8247.
6540
6541 2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
6542
6543         * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
6544         3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
6545         3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
6546         55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
6547         56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
6548         59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
6549         5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
6550         5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
6551         5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
6552         5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
6553         5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
6554         5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
6555         5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
6556         5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
6557         7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
6558         a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
6559         a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
6560         a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
6561         bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
6562         erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
6563         err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
6564         g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
6565         g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
6566         g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
6567         g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
6568         g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
6569         g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
6570         gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
6571         g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
6572         g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
6573         i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
6574         prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
6575         prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
6576         s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
6577         s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
6578         s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
6579         s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
6580         s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
6581         s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
6582         s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
6583         s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
6584         socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
6585         s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
6586         s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
6587         s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
6588         styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
6589         s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
6590         tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
6591         vms_conv.ads, vms_conv.adb, vms_data.ads,
6592         vxaddr2line.adb: Files added. Merge with ACT tree.
6593
6594         * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
6595         5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
6596         5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
6597         5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
6598         g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
6599         s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
6600         s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
6601         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
6602         s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
6603         s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
6604
6605         * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
6606         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
6607         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
6608         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
6609         4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
6610         4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
6611         4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
6612         4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
6613         51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
6614         53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
6615         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
6616         5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
6617         5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
6618         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
6619         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
6620         5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
6621         5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
6622         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
6623         5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
6624         5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
6625         5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
6626         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
6627         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
6628         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
6629         5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
6630         5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
6631         5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
6632         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
6633         5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
6634         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
6635         5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
6636         5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
6637         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
6638         5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
6639         6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
6640         7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
6641         7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
6642         a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
6643         a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
6644         a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
6645         a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
6646         a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
6647         ali.adb, ali.ads, ali-util.adb, ali-util.ads,
6648         a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
6649         a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
6650         a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
6651         a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
6652         a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
6653         a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
6654         a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
6655         a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
6656         a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
6657         a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
6658         a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
6659         a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
6660         atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
6661         a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
6662         a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
6663         bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
6664         checks.adb, checks.ads, cio.c, comperr.adb,
6665         comperr.ads, csets.adb, cstand.adb, cstreams.c,
6666         debug_a.adb, debug_a.ads, debug.adb, decl.c,
6667         einfo.adb, einfo.ads, errout.adb, errout.ads,
6668         eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
6669         expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
6670         exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
6671         exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
6672         exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
6673         exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
6674         exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
6675         exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
6676         exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
6677         fe.h, fmap.adb, fmap.ads, fname.adb,
6678         fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
6679         freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
6680         g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
6681         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
6682         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
6683         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
6684         g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
6685         g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
6686         g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
6687         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
6688         g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
6689         g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
6690         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
6691         g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
6692         gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
6693         gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
6694         gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
6695         gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
6696         gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
6697         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
6698         g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
6699         g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
6700         g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
6701         g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
6702         g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
6703         g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
6704         g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
6705         i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
6706         i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
6707         inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
6708         itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
6709         layout.adb, lib.adb, lib.ads, lib-list.adb,
6710         lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
6711         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
6712         link.c, live.adb, make.adb, make.ads,
6713         Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
6714         mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
6715         mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
6716         misc.c, mkdir.c, mlib.adb, mlib.ads,
6717         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
6718         mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
6719         namet.adb, namet.ads, namet.h, nlists.ads,
6720         nlists.h, nmake.adt, opt.adb, opt.ads,
6721         osint.adb, osint.ads, osint-b.adb, osint-c.adb,
6722         par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
6723         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
6724         par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
6725         par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
6726         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
6727         prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
6728         prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
6729         prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
6730         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
6731         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
6732         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
6733         prj-util.adb, prj-util.ads, raise.c, raise.h,
6734         repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
6735         rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
6736         s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
6737         s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
6738         scans.ads, scn.adb, scn.ads, s-crc32.adb,
6739         s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
6740         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
6741         sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
6742         sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
6743         sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
6744         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
6745         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
6746         sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
6747         sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
6748         sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
6749         sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
6750         sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
6751         s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
6752         s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
6753         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
6754         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
6755         s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
6756         s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
6757         s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
6758         sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
6759         sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
6760         sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
6761         s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
6762         s-memory.adb, s-memory.ads, snames.adb, snames.ads,
6763         snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
6764         s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
6765         s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
6766         s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
6767         s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
6768         s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
6769         s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
6770         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
6771         s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
6772         s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
6773         s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
6774         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
6775         s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
6776         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
6777         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
6778         s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
6779         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
6780         stringt.adb, stringt.ads, stringt.h, style.ads,
6781         stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
6782         s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
6783         s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
6784         switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
6785         s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
6786         table.adb, table.ads, targparm.adb, targparm.ads,
6787         targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
6788         trans.c, tree_io.adb, treepr.adb, treeprs.adt,
6789         ttypes.ads, types.ads, types.h, uintp.adb,
6790         uintp.ads, uintp.h, uname.adb, urealp.adb,
6791         urealp.ads, urealp.h, usage.adb, utils2.c,
6792         utils.c, validsw.adb, validsw.ads, widechar.adb,
6793         xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
6794         xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
6795         einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
6796         gnatvsn.ads: Merge with ACT tree.
6797
6798         * gnatvsn.adb: Rewritten in a simpler and more efficient way.
6799
6800 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
6801
6802         * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
6803         (gnat_ug_vmx.info): Likewise.
6804         (gnat_ug_vxw.info): Likewise.
6805         (gnat_ug_wnt.info): Likewise.
6806         (gnat_rm.info): Likewise.
6807         (gnat-style.info): Likewise.
6808
6809         * Make-lang.in (ada.install-info): Remove target.
6810         (info): New target.
6811         (install-info): Likewise.
6812         (gnat_ug_unx.info): Simplify rule.
6813         (gnat_ug_vmx.info): Likewise.
6814         (gnat_ug_vxw.info): Likewise.
6815         (gnat_ug_wnt.info): Likewise.
6816         (gnat_rm.info): Likewise.
6817         (gnat-style.info): Likewise.
6818
6819 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
6820
6821         * Make-lang.in: Replace uses of $(target_alias) with
6822         $(target_noncanonical).
6823         * ada/Makefile.in: Remove unused mention of $(target_alias).
6824
6825 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
6826
6827         * Make-lang.in (ada.info): Replace with ...
6828         (info): ... this.
6829         (ada.dvi): Replace with ...
6830         (dvi): ... this.
6831
6832 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
6833
6834         * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
6835         initialize dconstp5 and dconstmp5.
6836
6837 2003-09-28  Richard Henderson  <rth@redhat.com>
6838
6839         * trans.c (tree_transform): Update call to expand_asm_operands.
6840
6841 2003-09-21  Richard Henderson  <rth@redhat.com>
6842
6843         * trans.c, utils.c: Revert.
6844
6845 2003-09-21  Richard Henderson  <rth@redhat.com>
6846
6847         * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
6848         change to const.
6849
6850 2003-09-04  Michael Matz  <matz@suse.de>
6851
6852         * misc.c: Include "target.h".
6853         * Make-lang.in (misc.o): Add dependency on target.h.
6854
6855 2003-09-03  DJ Delorie  <dj@redhat.com>
6856
6857         * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
6858         hook.
6859
6860 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
6861
6862         * Makefile.in: Update substitutions to match changes to
6863         configure.  Use include directives instead of @-insertions
6864         to read in host and target fragments.  Add a rule to
6865         regenerate ada/Makefile.
6866
6867 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
6868
6869         * lang-options.h: Remove.
6870         * lang.opt: Add help text.
6871
6872 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
6873
6874         * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
6875         calls.
6876
6877 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
6878
6879         * misc.c (gnat_handle_option): Don't handle filenames.
6880
6881 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
6882
6883         * Make-lang.in: Replace PWD with PWD_COMMAND.
6884         * Makefile.adalib: Likewise.
6885         * Makefile.in: Likewise.
6886
6887 2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
6888
6889         * misc.c (gnat_argv): Revert last change.
6890         (gnat_handle_option, gnat_init_options): Copy arguments.
6891
6892 2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
6893
6894         * misc.c (gnat_argv): Make const.
6895
6896 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
6897
6898         * misc.c (save_argc, save_argv): Keep non-static!
6899
6900 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
6901
6902         * misc.c (save_argc, save_argv): Make static.
6903         (gnat_init_options): New prototype.
6904         (gnat_init_options): Update.
6905
6906 2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
6907
6908         * gnat_ug.texi: Remove unlikely characters from @vars.
6909         * gnat_ug_vms.texi: Regenerate.
6910
6911 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
6912
6913         * misc.c (record_code_position): Adjust emit_note call.
6914
6915 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
6916
6917         * misc.c (gnat_handle_option): Don't check for missing arguments.
6918
6919 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
6920
6921         * utils.c (end_subprog_body): Adjust expand_function_end call.
6922
6923 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
6924
6925         * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
6926         Bind_Main_Program.
6927
6928 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
6929
6930         * lang.opt: Declare Ada.
6931         * misc.c (gnat_init_options): Update.
6932
6933 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
6934
6935         * utils.c (begin_subprog_body): Adjust init_function_start call.
6936
6937 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
6938
6939         * Make-lang.in: Update to use options.c and options.h.
6940         * misc.c: Include options.h not aoptions.h.
6941         (gnat_handle_option): Abort on unrecognized switch.
6942         (gnat_init_options): Request Ada switches.
6943
6944 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
6945
6946         * lang.opt: Add -Wall.
6947         * misc.c (gnat_handle_option): Handle it.
6948
6949 2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
6950
6951         * misc.c (gnat_handle_option): Fix warnings.
6952
6953 2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
6954
6955         * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
6956
6957 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
6958
6959         * Make-lang.in: Update to handle command-line options.
6960         * lang.opt: New file.
6961         * misc.c: Include aoptions.h.
6962         (cl_options_count, cl_options): Remove.
6963         (gnat_handle_option): New.
6964         (gnat_decode_option): Remove.
6965         (LANG_HOOKS_DECODE_OPTION): Remove.
6966         (LANG_HOOKS_HANDLE_OPTION): Override.
6967
6968 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
6969
6970         * init.c, misc.c, trans.c, utils.c: Remove dead code.
6971
6972 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
6973
6974         * Makefile.in: Replace "host_canonical" with "host" for autoconf
6975         substitution.
6976
6977 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
6978
6979         * Make-lang.in: Update.
6980         * misc.c: Include opts.h. Define cl_options_count and cl_options.
6981
6982 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
6983
6984         * misc.c (gnat_init_options): Update.
6985
6986 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
6987
6988         * Make-lang.in (ada/b_gnatb.o-warn): Remove.
6989         * bindgen.adb (Gen_Main_C): Mark ensure_reference with
6990         __attribute__ ((__unused__)).
6991
6992 2003-06-05  Jan Hubicka  <jh@suse.cz>
6993
6994         * Make-lang.in:  Add support for stageprofile and stagefeedback
6995
6996 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
6997
6998         * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
6999         (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
7000
7001 2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
7002
7003         * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
7004         Remove non-VMS directive.
7005         (Switches for gnatlbr, Optimization Levels): Remove non-VMS
7006         alternatives.
7007         (Examples of gnatls Usage): Remove VMS alternative.
7008
7009 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
7010
7011         PR ada/9953:
7012         * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
7013         and turn ZCX_By_Default back to False since the underlying support
7014         is not quite there yet.
7015
7016 2003-06-01  Andreas Jaeger  <aj@suse.de>
7017
7018         * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
7019         and ROUND_TYPE_SIZE_UNIT.
7020
7021 2003-05-22   Geert Bosch <bosch@gnat.com>
7022
7023         * gnat_rm.texi : Remove reference to Ada Core Technologies.
7024
7025 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
7026
7027         * trans.c (tree_transform): Use location_t and input_location
7028         directly.
7029         (build_unit_elab): Likewise.
7030         * utils.c (create_label_decl): Likewise.
7031
7032 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
7033
7034         * trans.c (tree_transform, build_unit_elab,
7035         set_lineno): Rename lineno to input_line.
7036         * utils.c (pushdecl, create_label_decl, begin_subprog_body,
7037         end_subprog_body): Likewise.
7038         * utils2.c (build_call_raise): Likewise.
7039
7040 2003-05-01  Laurent Guerby <guerby@acm.org>
7041
7042         PR ada/10546
7043         * 5iosinte.ads: Increase pthread_cond_t size to match recent
7044         LinuxThread and NPTL version, merge from ACT.
7045
7046 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
7047
7048         * utils.c (convert): No need to clear TREE_CST_RTL.
7049
7050 2003-04-23   Geert Bosch <bosch@gnat.com>
7051
7052         * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
7053         1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
7054         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
7055         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
7056         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
7057         4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
7058         4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
7059         4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
7060         4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
7061         4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
7062         4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
7063         4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
7064         52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
7065         5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
7066         5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
7067         5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
7068         5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
7069         5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
7070         5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
7071         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
7072         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
7073         5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
7074         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
7075         5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
7076         5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
7077         5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
7078         5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
7079         5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
7080         5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
7081         5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
7082         5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
7083         5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
7084         5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
7085         5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
7086         5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
7087         5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
7088         5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
7089         5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
7090         5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
7091         5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
7092         5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
7093         5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
7094         5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
7095         5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
7096         6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
7097         7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
7098         7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
7099         9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
7100         a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
7101         a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
7102         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
7103         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
7104         a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
7105         a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
7106         a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
7107         a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
7108         a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
7109         a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
7110         a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
7111         a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
7112         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
7113         a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
7114         a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
7115         a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
7116         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
7117         a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
7118         a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
7119         a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
7120         a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
7121         a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
7122         a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
7123         a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
7124         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
7125         a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
7126         a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
7127         a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
7128         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
7129         a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
7130         a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
7131         a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
7132         a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
7133         a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
7134         a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
7135         a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
7136         a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
7137         a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
7138         a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
7139         a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
7140         a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
7141         a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
7142         a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
7143         a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
7144         a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
7145         a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
7146         a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
7147         a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
7148         a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
7149         a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
7150         a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
7151         a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
7152         a-wttest.ads, ada-tree.h, ada.ads, ada.h,
7153         adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
7154         ali.adb, ali.ads, alloc.ads, argv.c,
7155         atree.adb, atree.ads, atree.h, aux-io.c,
7156         back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
7157         binde.adb, binde.ads, binderr.adb, binderr.ads,
7158         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
7159         butil.adb, butil.ads, cal.c, calendar.ads,
7160         casing.adb, casing.ads, ceinfo.adb, checks.adb,
7161         checks.ads, cio.c, comperr.adb, comperr.ads,
7162         config-lang.in, csets.adb, csets.ads, csinfo.adb,
7163         cstand.adb, cstand.ads, cuintp.c, debug.adb,
7164         debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
7165         dec-io.ads, dec.ads, deftarg.c, directio.ads,
7166         einfo.adb, einfo.ads, elists.adb, elists.ads,
7167         elists.h, errno.c, errout.adb, errout.ads,
7168         eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
7169         exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
7170         exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
7171         exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
7172         exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
7173         exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
7174         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
7175         exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
7176         exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
7177         exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
7178         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
7179         exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
7180         exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
7181         exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
7182         exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
7183         fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
7184         fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
7185         freeze.adb, freeze.ads, frontend.adb, frontend.ads,
7186         g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
7187         g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
7188         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
7189         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
7190         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
7191         g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
7192         g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
7193         g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
7194         g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
7195         g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
7196         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
7197         g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
7198         g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
7199         g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
7200         g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
7201         g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
7202         g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
7203         g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
7204         g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
7205         g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
7206         g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
7207         g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
7208         get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
7209         gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
7210         gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
7211         gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
7212         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
7213         gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
7214         gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
7215         gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
7216         hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
7217         i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
7218         i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
7219         i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
7220         i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
7221         i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
7222         i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
7223         inline.adb, inline.ads, interfac.ads, ioexcept.ads,
7224         itypes.adb, itypes.ads, krunch.adb, krunch.ads,
7225         layout.adb, layout.ads, lib-list.adb, lib-load.adb,
7226         lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
7227         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
7228         lib.adb, lib.ads, live.adb, live.ads,
7229         machcode.ads, make.adb, make.ads, makeusg.adb,
7230         makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
7231         mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
7232         memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
7233         mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
7234         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
7235         mlib.ads, namet.adb, namet.ads, nlists.adb,
7236         nlists.ads, opt.adb, opt.ads, osint-b.adb,
7237         osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
7238         osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
7239         osint.ads, output.adb, output.ads, par-ch10.adb,
7240         par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
7241         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
7242         par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
7243         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
7244         par-tchk.adb, par-util.adb, par.adb, par.ads,
7245         prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
7246         prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
7247         prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
7248         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
7249         prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
7250         prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
7251         prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
7252         prj.adb, prj.ads, repinfo.adb, repinfo.ads,
7253         restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
7254         rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
7255         s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
7256         s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
7257         s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
7258         s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
7259         s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
7260         s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
7261         s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
7262         s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
7263         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
7264         s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
7265         s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
7266         s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
7267         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
7268         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
7269         s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
7270         s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
7271         s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
7272         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
7273         s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
7274         s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
7275         s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
7276         s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
7277         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
7278         s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
7279         s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
7280         s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
7281         s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
7282         s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
7283         s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
7284         s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
7285         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
7286         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
7287         s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
7288         s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
7289         s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
7290         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
7291         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
7292         s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
7293         s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
7294         s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
7295         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
7296         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
7297         s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
7298         s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
7299         s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
7300         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
7301         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
7302         s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
7303         s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
7304         s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
7305         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
7306         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
7307         s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
7308         s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
7309         s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
7310         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
7311         s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
7312         s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
7313         s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
7314         s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
7315         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
7316         s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
7317         s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
7318         s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
7319         s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
7320         s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
7321         s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
7322         s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
7323         s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
7324         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
7325         s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
7326         s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
7327         s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
7328         s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
7329         s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
7330         s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
7331         s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
7332         s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
7333         s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
7334         s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
7335         s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
7336         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
7337         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
7338         s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
7339         s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
7340         s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
7341         s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
7342         s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
7343         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
7344         s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
7345         s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
7346         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
7347         s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
7348         scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
7349         sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
7350         sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
7351         sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
7352         sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
7353         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
7354         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
7355         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
7356         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
7357         sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
7358         sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
7359         sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
7360         sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
7361         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
7362         sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
7363         sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
7364         sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
7365         sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
7366         sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
7367         sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
7368         sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
7369         snames.ads, sprint.adb, sprint.ads, stand.adb,
7370         stand.ads, stringt.adb, stringt.ads, style.adb,
7371         style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
7372         switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
7373         switch-m.ads, switch.adb, switch.ads, system.ads,
7374         table.adb, table.ads, targparm.adb, targparm.ads,
7375         tbuild.adb, tbuild.ads, text_io.ads, trans.c,
7376         tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
7377         tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
7378         ttypef.ads, ttypes.ads, types.adb, types.ads,
7379         uintp.adb, uintp.ads, uname.adb, uname.ads,
7380         unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
7381         usage.adb, usage.ads, validsw.adb, validsw.ads,
7382         widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
7383         xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
7384         xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
7385         formatting and other trivial changes from ACT.
7386
7387 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
7388
7389         * gigi.h, utils2.c (build_constructor):
7390         Rename gnat_build_constructor. Use build_constructor.
7391         * decl.c (gnat_to_gnu_entity)
7392         * trans.c (tree_transform, pos_to_constructor, extract_values)
7393         * ada/utils.c (build_template, convert_to_fat_pointer, convert)
7394         (unchecked_convert)
7395         * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
7396         (fill_vms_descriptor):
7397         Update to match.
7398
7399 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
7400
7401         * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
7402         * misc.c (gnat_tree_size): New function.
7403         (LANG_HOOKS_TREE_SIZE): Override.
7404
7405 2003-04-03  Jason Merrill  <jason@redhat.com>
7406
7407         * misc.c (gnat_adjust_rli): #if 0.
7408
7409 2003-03-31   Geert Bosch <bosch@gnat.com>
7410
7411         PR ada/10020
7412         * link.c : Fix misspelled "const" keyword
7413
7414 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
7415
7416         PR c++/7086
7417         * utils2.c: Adjust calls to put_var_into_stack.
7418
7419 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
7420
7421         * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
7422
7423 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
7424
7425         * misc.c (gnat_init): Update for new prototype.
7426
7427 2003-03-05  Olivier Hainque  <hainque@gnat.com>
7428
7429         ada/9961
7430         * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
7431         warning, and fix return type for the IN_RTS && !SJLJ case.
7432
7433 2003-03-04  Tom Tromey  <tromey@redhat.com>
7434
7435         * Make-lang.in (ada.tags): New target.
7436
7437 2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
7438
7439         ada/9911
7440         * a-except.adb (Unwind_RaiseException): Import a GNAT specific
7441         wrapper, which name remains constant whatever underlying GCC
7442         scheme.
7443
7444         * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
7445         the stable interface needed for a-except.
7446
7447 2003-03-02  Andreas Jaeger  <aj@suse.de>
7448
7449         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
7450         gnat_ug_wnt.texi: Regenerate.
7451
7452 2003-03-02  Laurent Guerby <guerby@acm.org>
7453
7454         * Makefile.in (install-gnatlib): Match previous change there
7455         so it works.
7456
7457 2003-02-28  Andreas Schwab  <schwab@suse.de>
7458
7459         * Make-lang.in (install-gnatlib): Change to ada directory before
7460         running make instead of using ada/Makefile directly.
7461
7462 2003-02-18  Ben Elliston  <bje@redhat.com>
7463
7464         Part of fix for PR ada/9406
7465         * gnat_ug.texi (Binder output file): Grammar fix.
7466
7467 2003-02-18  Ben Elliston  <bje@redhat.com>
7468
7469         PR other/7350
7470         * 5qtaprop.adb (Sleep): Fix typo in comment.
7471
7472 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
7473
7474         * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
7475         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
7476         gnat_ug_wnt.texi: Regenerate.
7477
7478 2003-02-03  Christian Cornelssen <ccorn@cs.tu-berlin.de>
7479
7480         * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
7481         be created if necessary.
7482         (ada.install-common): Let $(DESTDIR)$(bindir) be created
7483         if necessary.  Remove erroneous and redundant gnatchop
7484         installation commands.  Test for gnatdll before attempting
7485         to install it.
7486         (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
7487         and gnatdll from all plausible locations.
7488
7489 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
7490
7491         * utils2.c (build_unary_op): Don't check flag_volatile.
7492         * gnat_ug.texi: Remove -fvolatile from example.
7493         * gnat_ug_vxw.texi: Likewise.
7494
7495 2003-01-29  Laurent Guerby <guerby@acm.org>
7496
7497         PR ada/8344
7498         * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
7499         * Makefile.in: match previous change.
7500         * Make-lang.in: match previous change.
7501
7502 2003-01-29      Joel Sherrill <joel@OARcorp.com>
7503
7504         * 5rosinte.ads: Add SIGXCPU.
7505         * 5rtpopsp.adb: New file.
7506         * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
7507         * Makefile.in: Recognize more RTEMS targets and add the RTEMS
7508         specific file 5rtpopsp.adb.
7509         * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
7510         is likely needed for all newlib targets.
7511         * init.c: Add RTEMS specific version of __gnat_initialize().
7512
7513 2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7514
7515         * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
7516
7517 2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7518
7519         * init.c (__gnat_error_handler): Make msg const.
7520
7521         * gmem.c (convert_addresses): Move declaration ...
7522         * adaint.h: ... here.
7523         * adaint.c (convert_addresses): Adapt addrs type to match
7524         prototype.
7525
7526         * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
7527
7528 2003-01-24  Andreas Schwab  <schwab@suse.de>
7529
7530         * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
7531         size_t to avoid warning.
7532
7533 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
7534
7535         * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
7536
7537 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
7538
7539         * gnat_rm.texi: Remove RCS version number.
7540
7541         * ada-tree.h (union lang_tree_node): Add chain_next option.
7542
7543 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
7544
7545         * Make-lang.in (ada.install-info, ada.install-common,
7546         ada.uninstall): Prepend $(DESTDIR) to the destination
7547         directory in all (un)installation commands.
7548         * Makefile.in (install-gnatlib, install-rts): Ditto.
7549
7550 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
7551
7552         * gnat_rm.texi, gnat_ug.texi: Use @copying.
7553         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
7554         gnat_ug_wnt.texi: Regenerate.
7555
7556 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
7557
7558         * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
7559         only.
7560         * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
7561         $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
7562         $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
7563         ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
7564         ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
7565         $(srcdir)/doc/include/gcc-common.texi.
7566
7567 2002-12-15   Geert Bosch <bosch@gnat.com>
7568
7569         * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
7570
7571 2002-12-14   Geert Bosch <bosch@gnat.com>
7572
7573         * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
7574         case of a body created for a Renaming_As_Body, on which
7575         conformance checks are not performed. Fixes PR ada/5690.
7576
7577 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
7578
7579         * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
7580         utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
7581         not already included.
7582         * Make-lang.in: Update dependencies.
7583
7584 2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
7585         * adaint.c (__gnat_tmp_name): Better, but good enough for now,
7586         solution to buffer overflow bug on GNU/Linux.
7587
7588 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
7589         Closes PR ada/5856 and PR ada/6919 !
7590         * bindgen.adb: Remove all references to Public_Version.
7591         * comperr.adb: Remove all references to Public_Version and
7592         GNATPRO_Version; correct bug reporting instructions.
7593         * comperr.ads: Change to match bug box.
7594         * gnatvsn.ads: Remove all references to Public version and
7595         GNATPRO version.
7596
7597 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
7598         PR ada/6919
7599         * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
7600         GNU/Linux.
7601
7602         PR ada/6558
7603         * config-lang.in: Remove diff_excludes.
7604
7605 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
7606         PR ada/8358
7607         * trans.c (gnu_pending_elaboration_lists): New GC root.
7608         (build_unit_elab): Use..
7609
7610 2002-10-30   Geert Bosch <bosch@gnat.com>
7611         PR ada/6558
7612         * misc.c : Include optabs.h
7613
7614         * Make-lang.in (misc.o): Add dependency on optabs.h
7615
7616 2002-10-29   Geert Bosch <bosch@gnat.com>
7617         PR ada/6558
7618         * Make-lang.in (gnatbind): Depend on CONFIG_H
7619
7620 2002-10-29  Geert bosch  <bosch@gnat.com>
7621         PR ada/6558
7622         * misc.c: Unrevert misc.c (1.13)
7623
7624 2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
7625
7626         * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
7627         maintainership comments.
7628
7629 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
7630         PR ada/5904
7631         * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
7632         5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
7633         5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
7634         7staprop.adb: Correct statements in comments about
7635         maintainership of GNAT.
7636
7637         PR ada/5904
7638         * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
7639         gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
7640         osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
7641         osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
7642         s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
7643         s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
7644         sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
7645         switch-c.ads switch-m.adb switch-m.ads: Correct statements in
7646         comments about maintainership of GNAT.
7647
7648         PR ada/6919 (forward port of patch for PR ada/5904)
7649         * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
7650         4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
7651         4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
7652         4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
7653         4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
7654         4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
7655         4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
7656         52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
7657         5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
7658         5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
7659         5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
7660         5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
7661         5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
7662         5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
7663         5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
7664         5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
7665         5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
7666         5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
7667         5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
7668         5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
7669         5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
7670         5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
7671         5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
7672         5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
7673         5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
7674         5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
7675         5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
7676         5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
7677         7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
7678         a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
7679         a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
7680         a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
7681         a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
7682         a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
7683         a-except.adb a-except.ads a-excpol.adb a-exctra.adb
7684         a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
7685         a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
7686         a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
7687         a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
7688         a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
7689         a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
7690         a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
7691         a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
7692         a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
7693         a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
7694         a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
7695         a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
7696         a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
7697         a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
7698         a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
7699         a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
7700         a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
7701         a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
7702         a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
7703         a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
7704         a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
7705         a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
7706         a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
7707         a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
7708         a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
7709         a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
7710         a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
7711         a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
7712         a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
7713         a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
7714         a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
7715         a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
7716         a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
7717         adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
7718         alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
7719         back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
7720         binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
7721         bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
7722         ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
7723         csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
7724         cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
7725         debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
7726         einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
7727         errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
7728         exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
7729         exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
7730         exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
7731         exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
7732         exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
7733         exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
7734         exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
7735         exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
7736         exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
7737         exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
7738         exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
7739         exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
7740         exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
7741         final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
7742         fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
7743         freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
7744         g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
7745         g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
7746         gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
7747         gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
7748         gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
7749         gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
7750         gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
7751         gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
7752         i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
7753         i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
7754         i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
7755         i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
7756         impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
7757         itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
7758         lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
7759         lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
7760         lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
7761         lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
7762         makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
7763         namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
7764         nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
7765         osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
7766         par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
7767         par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
7768         par-endh.adb par-labl.adb par-load.adb par-prag.adb
7769         par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
7770         prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
7771         prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
7772         prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
7773         prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
7774         prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
7775         prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
7776         repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
7777         rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
7778         s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
7779         s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
7780         s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
7781         s-direio.adb s-direio.ads s-except.ads s-exctab.adb
7782         s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
7783         s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
7784         s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
7785         s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
7786         s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
7787         s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
7788         s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
7789         s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
7790         s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
7791         s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
7792         s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
7793         s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
7794         s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
7795         s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
7796         s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
7797         s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
7798         s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
7799         s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
7800         s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
7801         s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
7802         s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
7803         s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
7804         s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
7805         s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
7806         s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
7807         s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
7808         s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
7809         s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
7810         s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
7811         s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
7812         s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
7813         s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
7814         s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
7815         s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
7816         s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
7817         s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
7818         s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
7819         s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
7820         s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
7821         s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
7822         s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
7823         s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
7824         s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
7825         s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
7826         s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
7827         s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
7828         s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
7829         s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
7830         s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
7831         s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
7832         s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
7833         s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
7834         s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
7835         s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
7836         s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
7837         s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
7838         s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
7839         s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
7840         s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
7841         s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
7842         s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
7843         s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
7844         s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
7845         s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
7846         s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
7847         s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
7848         s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
7849         s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
7850         s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
7851         s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
7852         s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
7853         s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
7854         s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
7855         s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
7856         s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
7857         s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
7858         s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
7859         s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
7860         scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
7861         sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
7862         sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
7863         sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
7864         sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
7865         sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
7866         sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
7867         sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
7868         sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
7869         sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
7870         sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
7871         sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
7872         sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
7873         sem_type.adb sem_type.ads sem_util.adb sem_util.ads
7874         sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
7875         sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
7876         sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
7877         sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
7878         snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
7879         stringt.ads stringt.h style.adb style.ads stylesw.adb
7880         stylesw.ads switch.adb switch.ads sysdep.c system.ads
7881         table.adb table.ads targparm.adb targparm.ads targtyps.c
7882         tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
7883         tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
7884         treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
7885         types.adb types.ads types.h uintp.adb uintp.ads uintp.h
7886         uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
7887         usage.ads utils.c utils2.c validsw.adb validsw.ads
7888         widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
7889         xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
7890         xtreeprs.adb: Correct statements in comments about maintainership
7891         of GNAT.
7892
7893 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
7894
7895         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
7896         * Makefile.in (TOOLS_LIBS): Add ../../version.o.
7897         * gnatvsn.ads: Gnat_Version_String is now a function.
7898         * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
7899         copy the C version_string into a String and return it.
7900         * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
7901         gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
7902         Remove pragma Ident (Gnat_Version_String).  If this was the
7903         sole use of package Gnatvsn, remove the with statement too.
7904         * gnat1drv.adb: Tweak -gnatv output.
7905
7906 2002-09-17  Richard Henderson  <rth@redhat.com>
7907
7908         * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
7909         * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
7910         * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
7911         (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
7912         * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
7913         and real_2expN instead of a loop.
7914         * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
7915         (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
7916
7917 2002-08-25  Andre Leis <a.leis@gmx.net>
7918             David Billinghurst (David.Billinghurst@riotinto.com>
7919
7920         * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
7921
7922 2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7923
7924         * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
7925         Remove $(CONFIG_H) dependency.
7926
7927 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
7928
7929         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
7930
7931 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7932
7933         * adadecode.c (ada_demangle): Use xstrdup in lieu of
7934         xmalloc/strcpy.
7935         * misc.c (gnat_decode_option): Likewise.
7936
7937 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
7938
7939         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
7940         function approach did not work well because of a side effect (the
7941         function call could reallocate the table which was being indexed
7942         using its result). Fixes ada/4851. [RESURRECTED]
7943
7944 2002-07-01  Roger Sayle  <roger@eyesopen.com>
7945
7946         * ada/utils.c (builtin_function): Accept an additional parameter.
7947
7948 2002-06-28  Andreas Jaeger  <aj@suse.de>
7949
7950         PR ada/7144
7951         * Makefile.in: Fix typo in comment, patch by Adrian Knoth
7952         <adi@thur.de>.
7953
7954 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7955
7956         * Makefile.in (SHELL): Set to @SHELL@.
7957
7958 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7959
7960         * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
7961         array size calculation.
7962
7963 2002-06-04  Andreas Jaeger  <aj@suse.de>
7964
7965         * Make-lang.in (gnatbind): Readd rule that has been lost in last
7966         patch.
7967
7968 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
7969
7970         Merge from pch-branch:
7971
7972         * config-lang.in (gtfiles): Add ada-tree.h.
7973         * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
7974         (SET_TYPE_MODULUS): New.
7975         (SET_TYPE_INDEX): New.
7976         (SET_TYPE_DIGITS_VALUE): New.
7977         (SET_TYPE_RM_SIZE): New.
7978         (SET_TYPE_UNCONSTRAINED_ARRAY): New.
7979         (SET_TYPE_ADA_SIZE): New.
7980         (SET_TYPE_ACTUAL_BOUNDS): New.
7981         (SET_DECL_CONST_CORRESPONDING_VAR): New.
7982         (SET_DECL_ORIGINAL_FIELD): New.
7983         (TREE_LOOP_ID): Correct typo.
7984         * decl.c: Use new macros.
7985         * utils.c: Include debug.h, use new macros.
7986         * utils2.c: Use new macros.
7987
7988         * ada-tree.h: Update all macros for new tree description.
7989         (struct tree_loop_id): New.
7990         (union lang_tree_node): New.
7991         (struct lang_decl): New.
7992         (struct lang_type): New.
7993         * misc.c (gnat_mark_tree): Delete.
7994         (LANG_HOOKS_MARK_TREE): Delete.
7995         * trans.c (tree_transform): No longer any need to cast
7996         for TREE_LOOP_ID.
7997
7998         * utils.c (struct language_function): New dummy structure.
7999
8000         * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
8001         (misc.o): Likewise.
8002         (utils.o): Likewise; also gtype-ada.h.
8003         * Make-lang.in (gnat1): Add dependency on s-gtype.
8004         (gnatbind): Add dependency on $(CONFIG_H).
8005         * utils.c: Correct last #include.
8006         (stuct e_stack): Remove unnecessary 'static'.
8007         (mark_e_stack): Remove unused prototype.
8008
8009         * scn-nlit.adb: Remove whitespace after version number to
8010         keep lines under 80 chars.
8011         * snames.adb: Likewise.
8012         * treepr.ads: Likewise.
8013
8014         * Makefile.in (decl.o): Include gt-ada-<filename>.h.
8015         (misc.o): Likewise.
8016         (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
8017         * config-lang.in (gtfiles): New.
8018         * decl.c: Use gengtype for roots.
8019         * gigi.h: Use gengtype for roots.
8020         * trans.c: Use gengtype for roots.
8021         * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
8022
8023 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
8024
8025         * misc.c (gnat_init): Adjust setting of internal_error_function.
8026
8027 2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
8028
8029         * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
8030         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
8031         gnat_ug_wnt.texi: Regenerate.
8032
8033 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
8034
8035         * 5ntaprop.adb (with System.OS_Primitives): Remove.
8036
8037         * cstreams.c (max_path_len): Move from here ...
8038         * adaint.c (__gnat_max_path_len): ... to here.
8039         * adaint.c (__gnat_max_path_len): Declare.
8040         * g-dirope.adb (Max_Path): Adjust.
8041         * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
8042         * i-cstrea.ads (max_path_len): Adjust.
8043         * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
8044         * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
8045
8046         * Makefile.in, Make-lang.in: Documentation is now built in
8047         Make-lang.in.  Store Info and generated Texinfo files in the
8048         source directory.
8049         * gnat_ug.texi: Remove CVS keywords, correct version number.
8050         Set file name correctly.
8051
8052         * gnat_ug_*.texi: Add.
8053         * .cvsignore: Ignore generated Texinfo files.
8054
8055 2002-05-30  Zack Weinberg  <zack@codesourcery.com>
8056
8057         * ada.h: Add MI guard macro.
8058         (SUBTYPE): Define constants with an anonymous enum, not static
8059         const variables.
8060         (IN): Cast constants to appropriate type before use.
8061
8062 2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
8063
8064         * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
8065         (experimental)".
8066
8067 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8068
8069         * Make-lang.in (CP, ECHO): Copy from Makefile.in.
8070         (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
8071         (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
8072         (ALL_ADA_CFLAGS): Likewise.
8073         (ADA_INCLUDES): Likewise.
8074         Adapt for new working dir.
8075         (GNATBIND): Use Makefile.in version.
8076         (.SUFFIXES): Copy from Makefile.in.
8077         (ada-warn): Define.
8078         (.adb.o, .ads.o): Copy from Makefile.in.
8079         Added $(OUTPUT_OPTION).
8080         (GNAT1_C_OBJS): Moved from Makefile.in.
8081         Prefix with ada subdir.
8082         (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
8083         (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
8084         Adapt for new working dir.
8085         (EXTRA_GNATBIND_OBJS): Likewise.
8086         (ADA_BACKEND): Moved from Makefile.in.
8087         Renamed to avoid conflict with global BACKEND.
8088         Use that one.
8089         (TARGET_ADA_SRCS): Moved from Makefile.in.
8090         (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
8091         Use ADA_BACKEND.
8092         (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
8093         (ada_extra_files): Moved from Makefile.in.
8094         Prefix with ada subdir.
8095         (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
8096         (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
8097         (ada/nmake.ads): Likewise.
8098         (update-sources): Moved from Makefile.in.
8099         Prefix with ada subdir.
8100         (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
8101         (ADA_TREE_H): Likewise.
8102         (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
8103         (ada/memtrack.o): Likewise.
8104         (ada/adadecode.o): Likewise.
8105         Update dependencies.
8106         (ada/adaint.o): New.
8107         (ada/argv.o): Moved from Makefile.in.
8108         Prefix with ada subdir.
8109         Update dependencies.
8110         (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
8111         (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
8112         (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
8113         Prefix with ada subdir.
8114         (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
8115         (GNAT DEPENDENCIES): Regenerate.
8116         * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
8117         toplevel Makefile.in.
8118         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
8119         (TARGET_ADA_SRCS): Removed.
8120         (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
8121         (GNATBIND_OBJS): Likewise.
8122         (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
8123         (BACKEND): Removed.
8124         (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
8125         (TREE_H): Likewise.
8126         (ada_extra_files): Likewise.
8127         (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
8128         (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
8129         (update-sources): Likewise.
8130         (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
8131         (ADA_TREE_H): Likewise.
8132         (adadecoce.o): Likewise.
8133         (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
8134         (GNAT DEPENDENCIES): Likewise.
8135
8136 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8137
8138         * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
8139         * Makefile.in: Likewise.
8140
8141 2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8142
8143         * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
8144         Restore $(CONFIG_H) and prefix.o dependencies.
8145         (ada.stage[1-4]): Depend on stage?-start.
8146
8147         * Makefile.in (b_gnatb.c): Depend on interfac.o.
8148
8149 2002-05-02  Jim Wilson  <wilson@redhat.com>
8150
8151         * utils.c (finish_record_type): Change record_size to record_type.
8152
8153 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8154
8155         * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
8156         (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
8157         ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
8158
8159 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
8160
8161         * misc.c (gnat_parse_file): Update.
8162
8163 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
8164
8165         * misc.c (gnat_init): Don't set lang_attribute_common.
8166
8167 2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
8168
8169         * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
8170
8171 2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
8172
8173         * gnat_ug.texi: New file.
8174
8175         * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
8176         instead of gfdl.texi
8177
8178         * xgnatug.adb, ug_words: New files.
8179
8180         * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
8181         gnat_rm and gnat-style manuals.
8182
8183 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
8184
8185         * gigi.h (incomplete_type_error): Remove.
8186         * utils.c (incomplete_type_error): Remove.
8187
8188 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
8189
8190         * trans.c (tree_transform): Add has_scope argument to
8191         expand_start_stmt_expr.
8192
8193 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
8194
8195         * gigi.h (truthvalue_conversion): Rename.
8196         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
8197         * trans.c (tree_transform): Update.
8198         * utils2.c (truthvalue_conversion): Rename, update.
8199         (build_binary_op, build_unary_op): Update.
8200
8201 2002-04-04  Laurent Guerby  <guerby@acm.org>
8202
8203         * make.adb: Implement -margs, remove restriction about file name placement.
8204         * makeusg.adb: Documentation update.
8205         * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
8206         * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
8207
8208 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
8209
8210         * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
8211         (builtin_function): Similarly.
8212
8213 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
8214
8215         * decl.c (gnat_to_gnu_entity): Update.
8216         * gigi.h (mark_addressable): Rename.
8217         * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
8218         * trans.c (tree_transform): Update.
8219         * utils.c (create_var_decl): Update.
8220         * util2.c (build_binary_op, build_unary_op,
8221         fill_vms_descriptor): Update.
8222         (mark_addressable): Rename, update.
8223
8224 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
8225
8226         * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
8227         Rename.
8228         * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
8229         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
8230         * trans.c (tree_transform, convert_with_check): Update.
8231         * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
8232         Rename.
8233
8234 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
8235
8236         * gigi.h (finish_incomplete_decl): Rename.
8237         * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
8238         * utils.c (gnat_init_decl_processing): Don't set hook.
8239         (finish_incomplete_decl): Rename.
8240
8241 2002-03-29  Andreas Schwab  <schwab@suse.de>
8242
8243         * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
8244         directory.
8245
8246 2001-03-28  Robert Dewar <dewar@gnat.com>
8247
8248         * checks.ads:
8249         (Remove_Checks): New procedure
8250
8251         * checks.adb:
8252         (Remove_Checks): New procedure
8253
8254         * exp_util.adb:
8255         Use new Duplicate_Subexpr functions
8256         (Duplicate_Subexpr_No_Checks): New procedure
8257         (Duplicate_Subexpr_No_Checks_Orig): New procedure
8258         (Duplicate_Subexpr): Restore original form (checks duplicated)
8259         (Duplicate_Subexpr): Call Remove_Checks
8260
8261         * exp_util.ads:
8262         (Duplicate_Subexpr_No_Checks): New procedure
8263         (Duplicate_Subexpr_No_Checks_Orig): New procedure
8264         Add 2002 to copyright notice
8265
8266         * sem_util.adb: Use new Duplicate_Subexpr functions
8267
8268         * sem_eval.adb:
8269         (Eval_Indexed_Component): This is the place to call
8270         Constant_Array_Ref and to replace the value. We simply merge
8271         the code of this function in here, since it is now no longer
8272         used elsewhere. This fixes the problem of the back end not
8273         realizing we were clever enough to see that this was
8274         constant.
8275         (Expr_Val): Remove call to Constant_Array_Ref
8276         (Expr_Rep_Val): Remove call to Constant_Array_Ref
8277         Minor reformatting
8278         (Constant_Array_Ref): Deal with string literals (patch
8279         suggested by Zack Weinberg on the gcc list)
8280
8281 2001-03-28  Ed Schonberg <schonber@gnat.com>
8282
8283         * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
8284         Duplicate_Subexpr_Move_Checks.
8285
8286         * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
8287         Duplicate_Subexpr_Move_Checks.
8288
8289         * sem_eval.adb: (Constant_Array_Ref): Verify that constant
8290         value of array exists before retrieving it (it may a private
8291         protected component in a function).
8292
8293 2002-03-28   Geert Bosch <bosch@gnat.com>
8294
8295         * prj-pp.adb : New file.
8296
8297         * prj-pp.ads : New file.
8298
8299 2002-03-28  Andreas Jaeger  <aj@suse.de>
8300
8301         * Makefile.in (stamp-sdefault): Fix path for Makefile.
8302
8303 2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
8304
8305         * misc.c (gnat_expand_expr): Move prototype.
8306
8307 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
8308
8309         * misc.c (insert_default_attributes): Remove.
8310
8311 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
8312
8313         * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
8314         (gnat_init): Don't set hook.
8315         (gnat_expand_expr): Fix prototype.
8316
8317 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
8318
8319         * misc.c (ggc_p): Remove.
8320
8321 2002-03-27  Geert Bosch  <bosch@gnat.com>
8322
8323         * prj-makr.ads, prj-makr.adb : New files.
8324
8325 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
8326
8327         * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
8328         (lang_mark_tree): Make static, rename.
8329
8330 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
8331
8332         * misc.c (maybe_build_cleanup): Remove.
8333
8334 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
8335
8336         * gigi.h (yyparse): Remove.
8337
8338 2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
8339
8340         * gnat_rm.texi: Sync with ACT version.
8341           (From Ben Brosgol <brosgol@gnat.com>)
8342
8343 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8344
8345         * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
8346         (gnat_init): Remove old hook.
8347
8348 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
8349
8350         * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
8351         (yyparse): Rename gnat_parse_file.
8352
8353 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
8354
8355         Delete all lines containing "$Revision:".
8356         * xeinfo.adb: Don't look for revision numbers.
8357         * xnmake.adb: Likewise.
8358         * xsinfo.adb: Likewise.
8359         * xsnames.adb: Likewise.
8360         * xtreeprs.adb: Likewise.
8361
8362 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8363
8364         * misc.c (gnat_tree_code_type, gnat_tree_code_length,
8365         gnat_tree_code_name): Delete.
8366         (tree_code_type, tree_code_length, tree_code_name): Define.
8367         (gnat_init): Don't try to copy into the various tree_code
8368         arrays.
8369
8370 2002-03-11  Richard Henderson  <rth@redhat.com>
8371
8372         * Makefile.in (.NOTPARALLEL): Add fake tag.
8373
8374 2002-03-07  Geert Bosch  <bosch@gnat.com>
8375
8376         * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
8377         s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
8378         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
8379         switch-m.adb, switch-m.ads : New files.
8380
8381 2002-03-07  Geert Bosch  <bosch@gnat.com>
8382
8383         * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
8384         4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
8385         4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
8386         4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
8387         5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
8388         5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
8389         5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
8390         5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
8391         5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
8392         5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
8393         5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
8394         5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
8395         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
8396         5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
8397         5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
8398         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
8399         5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
8400         5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
8401         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
8402         5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
8403         7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
8404         Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
8405         a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
8406         a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
8407         a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
8408         a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
8409         a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
8410         a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
8411         a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
8412         adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
8413         atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
8414         bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
8415         csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
8416         einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
8417         eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
8418         exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
8419         exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
8420         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
8421         exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
8422         exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
8423         expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
8424         freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
8425         g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
8426         g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
8427         g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
8428         g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
8429         g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
8430         g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
8431         gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
8432         gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
8433         gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
8434         i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
8435         impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
8436         lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
8437         lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
8438         memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
8439         mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
8440         nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
8441         output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
8442         par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
8443         prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
8444         prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
8445         prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
8446         rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
8447         s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
8448         s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
8449         s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
8450         s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
8451         s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
8452         s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
8453         s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
8454         s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
8455         s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
8456         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
8457         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
8458         s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
8459         s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
8460         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
8461         s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
8462         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
8463         sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
8464         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
8465         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
8466         sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
8467         sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
8468         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
8469         sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
8470         sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
8471         sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
8472         snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
8473         stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
8474         table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
8475         tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
8476         treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
8477         types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
8478         utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
8479         xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
8480
8481         * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
8482         g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
8483         mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
8484         osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
8485
8486         * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
8487         5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
8488
8489         * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
8490         to mdll-fil.ad[bs] and mdll-util.ad[bs]
8491
8492         * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
8493         from mdllfile.ad[bs] and mdlltool.ad[bs]
8494
8495 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8496
8497         * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
8498         lieu of explicit sizeof/sizeof.
8499
8500 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
8501
8502         * misc.c (copy_lang_decl): Remove.
8503
8504 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
8505
8506         * misc.c: Delete traditional-mode-related code copied from the
8507         C front end but not used, or used only to permit the compiler
8508         to link.
8509
8510 2002-02-07  Richard Henderson  <rth@redhat.com>
8511
8512         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
8513         * adaint.h (__gnat_to_gm_time): Update prototype.
8514
8515 2002-01-30  Richard Henderson  <rth@redhat.com>
8516
8517         * trans.c (tree_transform) [N_Loop_Statement]: Use
8518         expand_exit_loop_top_cond.
8519
8520 2001-12-23  Richard Henderson  <rth@redhat.com>
8521
8522         * utils.c (end_subprog_body): Push GC context around
8523         rest_of_compilation for nested functions.
8524
8525 2001-12-23  Richard Henderson  <rth@redhat.com>
8526
8527         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
8528
8529 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
8530
8531         * gnat-style.texi (Declarations and Types): Remove ancient style
8532         rule which was mandated by code generation issues.
8533
8534         * gnat-style.texi (header): Add @dircategory, @direntry.
8535         (title page): Remove date.
8536         (general) Add @./@: where approriate, and two spaces after the
8537         full stop at the end of a sentence.  Use @samp markup when
8538         referring concrete lexical entities (keywords, attribute names
8539         etc.), and @syntax for ARM grammar elements. Use @r for English
8540         text in comments.  Use @emph for emphasis.  Change "if-statements"
8541         etc. to "if statements" (without @samp). Break long lines.  Make
8542         casing of section names consistent.
8543         (Identifiers): Use @samp markup for variable names.
8544         (Comments): Use @samp markup for comment characters. Line-end
8545         comments may follow any Ada code, not just statements.  Fix
8546         misspelling of "Integer" as "integer".
8547         (Loop statements): Do not use variable name "I", use "J".
8548         (Subprogram Declarations): Document alignment.
8549         (Subprogram Bodies, Block statements): Document empty line before
8550         "begin".
8551
8552 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
8553
8554         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
8555         function approach did not work well because of a side effect (the
8556         function call could reallocate the table which was being indexed
8557         using its result). Fixes ada/4851.
8558
8559 2001-12-19  Robert Dewar <dewar@gnat.com>
8560
8561         * bindgen.adb: Minor reformatting
8562
8563         * cstand.adb: Minor reformatting
8564
8565         * fmap.adb: Minor reformatting
8566         Change name from Add for Add_To_File_Map (Add is much too generic)
8567         Change Path_Name_Of to Mapped_Path_Name
8568         Change File_Name_Of to Mapped_File_Name
8569         Fix copyright dates in header
8570
8571         * fmap.ads:
8572         Change name from Add for Add_To_File_Map (Add is much too generic)
8573         Change Path_Name_Of to Mapped_Path_Name
8574         Change File_Name_Of to Mapped_File_Name
8575         Fix copyright dates in header
8576
8577         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
8578         Add use clause for Fmap.
8579
8580         * make.adb: Minor reformatting
8581
8582         * osint.adb: Minor reformatting.  Change of names in Fmap.
8583         Add use clause for Fmap.
8584
8585         * prj-env.adb: Minor reformatting
8586
8587         * prj-env.ads: Minor reformatting
8588
8589         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
8590         error found (there were odd exceptions to this general rule in
8591         -gnatec/-gnatem processing)
8592
8593 2001-12-19  Olivier Hainque <hainque@gnat.com>
8594
8595         * raise.c (__gnat_eh_personality): Exception handling personality
8596         routine for Ada.  Still in rough state, inspired from the C++ version
8597         and still containing a bunch of debugging artifacts.
8598         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
8599         inspired from the C++ library.
8600
8601         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
8602         exception handling integration.
8603
8604 2001-12-19  Arnaud Charlet <charlet@gnat.com>
8605
8606         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
8607         (HIE_SOURCES): Add s-secsta.ad{s,b}.
8608         (HIE_OBJS): Add s-fat*.o
8609         (RAVEN_SOURCES): Remove files that are no longer required. Add
8610         interrupt handling files.
8611         (RAVEN_MOD): Removed, no longer needed.
8612
8613 2001-12-19  Robert Dewar <dewar@gnat.com>
8614
8615         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
8616         Add 2001 to copyright date
8617
8618         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
8619         need to force universal inlining for these cases.
8620
8621 2001-12-19  Arnaud Charlet <charlet@gnat.com>
8622
8623         * s-taprob.adb: Minor clean ups so that this unit can be used in
8624         Ravenscar HI.
8625
8626         * exp_ch7.adb: Allow use of secondary stack in HI mode.
8627         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
8628
8629 2001-12-19  Vincent Celier <celier@gnat.com>
8630
8631         * prj-tree.ads (Project_Node_Record): Add comments for components
8632         Pkg_Id and Case_Insensitive.
8633
8634 2001-12-19  Pascal Obry <obry@gnat.com>
8635
8636         * g-socket.adb: Minor reformatting. Found while reading code.
8637
8638 2001-12-19  Robert Dewar <dewar@gnat.com>
8639
8640         * prj-tree.ads: Minor reformatting
8641
8642 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
8643
8644         * config-lang.in (diff_excludes): Remove.
8645
8646 2001-12-17  Ed Schonberg <schonber@gnat.com>
8647
8648         * sem_res.adb (Resolve_Selected_Component): do not generate a
8649         discriminant check if the selected component is a component of
8650         the argument of an initialization procedure.
8651
8652         * trans.c (tree_transform, case of arithmetic operators): If result
8653         type is private, the gnu_type is the base type of the full view,
8654         given that the full view itself may be a subtype.
8655
8656 2001-12-17  Robert Dewar <dewar@gnat.com>
8657
8658         * sem_res.adb: Minor reformatting
8659
8660         * trans.c (tree_transform, case N_Real_Literal): Add missing third
8661         parameter in call to Machine (unknown horrible effects from this
8662         omission).
8663
8664         * urealp.h: Add definition of Round_Even for call to Machine
8665         Add third parameter for Machine
8666
8667 2001-12-17  Ed Schonberg <schonber@gnat.com>
8668
8669         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
8670         predefined units in No_Run_Time mode.
8671
8672 2001-12-17  Richard Kenner <kenner@gnat.com>
8673
8674         * misc.c (insn-codes.h): Now include.
8675
8676 2001-12-17  Olivier Hainque <hainque@gnat.com>
8677
8678         * a-except.adb: Preparation work for future integration of the GCC 3
8679         exception handling mechanism
8680         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
8681         to factorize previous code sequences and make them externally callable,
8682         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
8683         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
8684         Use the new notification routines.
8685
8686 2001-12-17  Emmanuel Briot <briot@gnat.com>
8687
8688         * prj-tree.ads (First_Choice_Of): Document the when others case
8689
8690 2001-12-17  Arnaud Charlet <charlet@gnat.com>
8691
8692         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
8693         HI-E mode, in order to support Ravenscar profile properly.
8694
8695         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
8696         mode on 32 bits targets.
8697
8698 2001-12-17  Vincent Celier <celier@gnat.com>
8699
8700         * fmap.adb: Initial version.
8701
8702         * fmap.ads: Initial version.
8703
8704         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
8705         If search is successfully done, add to mapping.
8706
8707         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
8708
8709         * make.adb:
8710         (Gnatmake): Add new local variable Mapping_File_Name.
8711          Create mapping file when using project file(s).
8712          Delete mapping file before exiting.
8713
8714         * opt.ads (Mapping_File_Name): New variable
8715
8716         * osint.adb (Find_File): Use path name found in mapping, if any.
8717
8718         * prj-env.adb (Create_Mapping_File): New procedure
8719
8720         * prj-env.ads (Create_Mapping_File): New procedure.
8721
8722         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
8723         (Mapping_File)
8724
8725         * usage.adb: Add entry for new switch -gnatem.
8726
8727         * Makefile.in: Add dependencies for fmap.o.
8728
8729 2001-12-17  Ed Schonberg <schonber@gnat.com>
8730
8731         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
8732         is a package instantiation rewritten as a package body.
8733         (Install_Withed_Unit): Undo previous change, now redundant.
8734
8735 2001-12-17  Gary Dismukes <dismukes@gnat.com>
8736
8737         * layout.adb:
8738         (Compute_Length): Move conversion to Unsigned to callers.
8739         (Get_Max_Size): Convert Len expression to Unsigned after calls to
8740         Compute_Length and Determine_Range.
8741         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
8742         Compute_Length and Determine_Range.
8743         Above changes fix problem with length computation for supernull arrays
8744         where Max (Len, 0) wasn't getting applied due to the Unsigned
8745         conversion used by Compute_Length.
8746
8747 2001-12-17  Arnaud Charlet <charlet@gnat.com>
8748
8749         * rtsfind.ads:
8750         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
8751          System.Secondary_Stack.
8752         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
8753          in HI-E mode.
8754         Remove unused entity RE_Exception_Data.
8755
8756         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
8757
8758         * rident.ads (No_Secondary_Stack): New restriction.
8759
8760 2001-12-17  Joel Brobecker <brobecke@gnat.com>
8761
8762         * gnat_rm.texi: Fix minor typos. Found while reading the section
8763         regarding "Bit_Order Clauses" that was sent to a customer.
8764         Very interesting documentation!
8765
8766 2001-12-17  Robert Dewar <dewar@gnat.com>
8767
8768         * sem_case.adb (Choice_Image): Avoid creating improper character
8769         literal names by using the routine Set_Character_Literal_Name. This
8770         fixes bombs in certain error message cases.
8771
8772 2001-12-17  Arnaud Charlet <charlet@gnat.com>
8773
8774         * a-reatim.adb: Minor reformatting.
8775
8776 2001-12-17  Ed Schonberg <schonber@gnat.com>
8777
8778         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
8779         case where the formal is an extension of another formal in the current
8780         unit or in a parent generic unit.
8781
8782 2001-12-17  Arnaud Charlet <charlet@gnat.com>
8783
8784         * s-tposen.adb: Update comments.  Minor reformatting.
8785         Minor code clean up.
8786
8787         * s-tarest.adb: Update comments.  Minor code reorganization.
8788
8789 2001-12-17  Gary Dismukes <dismukes@gnat.com>
8790
8791         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
8792         when Java_VM.
8793
8794 2001-12-17  Robert Dewar <dewar@gnat.com>
8795
8796         * exp_attr.adb: Minor reformatting
8797
8798 2001-12-17  Ed Schonberg <schonber@gnat.com>
8799
8800         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
8801         derivations nested within a child unit: verify that the parent
8802         type is declared in an outer scope.
8803
8804 2001-12-17  Robert Dewar <dewar@gnat.com>
8805
8806         * sem_ch12.adb: Minor reformatting
8807
8808 2001-12-17  Ed Schonberg <schonber@gnat.com>
8809
8810         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
8811         warning if current unit is a predefined one, from which bodies may
8812         have been deleted.
8813
8814 2001-12-17  Robert Dewar <dewar@gnat.com>
8815
8816         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
8817         Fix header format. Add 2001 to copyright date.
8818
8819         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
8820         which caused CE during compilation if checks were enabled.
8821
8822 2001-12-17  Vincent Celier <celier@gnat.com>
8823
8824         * make.adb:
8825         (Switches_Of): New function
8826         (Test_If_Relative_Path): New procedure
8827         (Add_Switches): Use new function Switches_Of
8828         (Collect_Arguments_And_Compile): Use new function Switches_Of.
8829         When using a project file, test if there are any relative
8830         search path. Fail if there are any.
8831         (Gnatmake): Only add switches for the primary directory when not using
8832         a project file. When using a project file, change directory to the
8833         object directory of the main project file. When using a project file,
8834         test if there are any relative search path. Fail if there are any.
8835         When using a project file, fail if specified executable is relative
8836         path with directory information, and prepend executable, if not
8837         specified as an absolute path, with the exec directory.  Make sure
8838         that only one -o switch is transmitted to the linker.
8839
8840         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
8841
8842         * prj-nmsc.adb:
8843         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
8844         when using a non standard naming scheme.
8845         (Check_Ada_Naming_Scheme): Make sure that error messages
8846         do not raise exceptions.
8847         (Is_Illegal_Append): Return True if there is no dot in the suffix.
8848         (Language_Independent_Check): Check the exec directory.
8849
8850         * prj.adb (Project_Empty): Add new component Exec_Directory
8851
8852         * prj.ads:
8853         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
8854         (Project_Data): Add component Exec_Directory
8855
8856         * snames.adb: Updated to match snames.ads revision 1.215
8857
8858         * snames.ads: Added Exec_Dir
8859
8860 2001-12-17  Robert Dewar <dewar@gnat.com>
8861
8862         * make.adb: Minor reformatting
8863
8864         * prj-nmsc.adb: Minor reformatting
8865
8866         * snames.adb: Updated to match snames.ads
8867
8868         * snames.ads: Alphebetize entries for project file
8869
8870 2001-12-17  Ed Schonberg <schonber@gnat.com>
8871
8872         * trans.c (process_freeze_entity): Do nothing if the entity is a
8873         subprogram that was already elaborated.
8874
8875 2001-12-17  Richard Kenner <kenner@gnat.com>
8876
8877         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
8878         and Esize if object is referenced via pointer.
8879
8880 2001-12-17  Ed Schonberg <schonber@gnat.com>
8881
8882         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
8883         is discrete before analyzing choices.
8884
8885 2001-12-17  Joel Brobecker <brobecke@gnat.com>
8886
8887         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
8888         containing the name of the Ada Main Program. This string is mainly
8889         intended for the debugger.
8890         (Gen_Output_File_C): Do the equivalent change when generating a C file.
8891
8892 2001-12-17  Robert Dewar <dewar@gnat.com>
8893
8894         * ali.adb: Set new Dummy_Entry field in dependency entry
8895
8896         * ali.ads: Add Dummy_Entry field to source dependency table
8897
8898         * bcheck.adb (Check_Consistency): Ignore dummy D lines
8899
8900         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
8901
8902         * lib-writ.ads: Document dummy D lines for missing files.
8903
8904         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
8905
8906 2001-12-17  Robert Dewar <dewar@gnat.com>
8907
8908         * ali.adb: Type reference does not reset current file.
8909
8910         * ali.adb: Recognize and scan renaming reference
8911
8912         * ali.ads: Add spec for storing renaming references.
8913
8914         * lib-xref.ads: Add documentation for handling of renaming references
8915
8916         * lib-xref.adb: Implement output of renaming reference.
8917
8918         * checks.adb:
8919         (Determine_Range): Document local variables
8920         (Determine_Range): Make sure Hbound is initialized. It looks as though
8921          there could be a real problem here with an uninitialized reference
8922          to Hbound, but no actual example of failure has been found.
8923
8924 2001-12-17  Laurent Pautet <pautet@gnat.com>
8925
8926         * g-socket.ads:
8927         Fix comment of Shutdown_Socket and Close_Socket. These functions
8928         should not fail silently because if they are called twice, this
8929         probably means that there is a race condition in the user program.
8930         Anyway, this behaviour is consistent with the rest of this unit.
8931         When an error occurs, an exception is raised with the error message
8932         as exception message.
8933
8934 2001-12-17  Robert Dewar <dewar@gnat.com>
8935
8936         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
8937         that it happens before modification of Sloc values for -gnatD.
8938
8939         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
8940         so that it happens before modification of Sloc values for -gnatD.
8941
8942         * switch.adb: Minor reformatting
8943
8944 2001-12-15  Richard Henderson  <rth@redhat.com>
8945
8946         * sem_ch7.adb: Wrap comment.
8947
8948 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
8949
8950         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
8951         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
8952         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
8953         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
8954         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
8955         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
8956         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
8957         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
8958         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
8959         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
8960         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
8961         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
8962         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
8963         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
8964         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
8965         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
8966         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
8967         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
8968         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
8969         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
8970         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
8971         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
8972         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
8973         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
8974         spelling errors.
8975
8976 2001-12-14  Vincent Celier <celier@gnat.com>
8977
8978         * osint.adb(Create_Debug_File): When an object file is specified,
8979         put the .dg file in the same directory as the object file.
8980
8981 2001-12-14  Robert Dewar <dewar@gnat.com>
8982
8983         * osint.adb: Minor reformatting
8984
8985         * lib-xref.adb (Output_Instantiation): New procedure to generate
8986         instantiation references.
8987
8988         * lib-xref.ads: Add documentation of handling of generic references.
8989
8990         * ali.adb (Read_Instantiation_Ref): New procedure to read
8991         instantiation references
8992
8993         * ali.ads: Add spec for storing instantiation references
8994
8995         * bindusg.adb: Minor reformatting
8996
8997         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
8998
8999         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
9000
9001         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
9002
9003         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
9004
9005         * csets.ads:
9006         Fix header format
9007         Add 2001 to copyright date
9008         Add entry for Latin-5 (Cyrillic ISO-8859-5)
9009
9010 2001-12-14  Matt Gingell <gingell@gnat.com>
9011
9012         * adaint.c: mktemp is a macro on Lynx and can not be used as an
9013         expression.
9014
9015 2001-12-14  Richard Kenner <kenner@gnat.com>
9016
9017         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
9018         if operand is CONSTRUCTOR.
9019
9020 2001-12-14  Ed Schonberg <schonber@gnat.com>
9021
9022         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
9023         before emiting check on right-hand side, so that exception information
9024         is correct.
9025
9026 2001-12-14  Richard Kenner <kenner@gnat.com>
9027
9028         * utils.c (create_var_decl): Throw away initializing expression
9029         if just annotating types and non-constant.
9030
9031 2001-12-14  Vincent Celier <celier@gnat.com>
9032
9033         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
9034         Default_Ada_...
9035
9036         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
9037         Remove functions.
9038         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
9039
9040         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
9041         Remove functions.
9042         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
9043
9044 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
9045
9046         * ChangeLog: Remove piece of diff output.
9047
9048 2001-12-14  Geert Bosch <bosch@gnat.com>
9049
9050         * config-lang.in: Update copyright notice
9051
9052         * layout.adb: Remove commented out code.
9053
9054         * mdllfile.ads: Update copyright notice. Fix header format.
9055
9056         * sem_case.ads: Likewise.
9057
9058         * sem_ch3.adb: Minor reformatting.
9059
9060 2001-12-12  Geert Bosch <bosch@gnat.com>
9061
9062         * freeze.ads: Update copyright date.
9063
9064         * g-comlin.ads: Minor reformatting.
9065
9066         * gnat-style.texi: Fix typo.
9067
9068 2001-12-12  Geert Bosch <bosch@gnat.com>
9069
9070         *  einfo.h: Regenerate.
9071
9072 2001-12-12  Ed Schonberg <schonber@gnat.com>
9073
9074         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
9075         on known node types, rather than untyped fields. Further cleanups.
9076
9077 2001-12-12  Robert Dewar <dewar@gnat.com>
9078
9079         * sem_ch12.adb:
9080         (Save_Entity_Descendant): Minor comment update.
9081         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
9082          of an N_Attribute_Reference node. As per note below, this does not
9083         eliminate need for Associated_Node in attribute ref nodes.
9084         (Associated_Node): Documentation explicitly mentions attribute
9085         reference nodes, since this field is used in such nodes.
9086
9087         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
9088
9089 2001-12-12  Robert Dewar <dewar@gnat.com>
9090
9091         * s-stalib.adb: Add more comments on with statements being needed
9092
9093         * par-ch12.adb: Minor reformatting
9094
9095         * prj-dect.ads: Fix copyright header
9096
9097         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
9098         inputs fit in 32 bits, but the result still overflows.
9099
9100         * s-fatgen.ads: Minor comment improvement
9101
9102 2001-12-12  Ed Schonberg <schonber@gnat.com>
9103
9104         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
9105         formal derived type, look for an inherited component from the full
9106         view of the parent, if any.
9107
9108 2001-12-12  Robert Dewar <dewar@gnat.com>
9109
9110         * checks.ads (Apply_Alignment_Check): New procedure.
9111
9112         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
9113         ensure that the alignment of objects with address clauses is
9114         appropriate, and raise PE if not.
9115
9116         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
9117         Exp_Pakd.Known_Aligned_Enough
9118
9119         * mdllfile.ads: Minor reformatting
9120
9121         * mlib-fil.ads: Minor reformatting
9122
9123 2001-12-12  Ed Schonberg <schonber@gnat.com>
9124
9125         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
9126         fix to any component reference if enclosing record has non-standard
9127         representation.
9128
9129 2001-12-12  Vincent Celier <celier@gnat.com>
9130
9131         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
9132         Iteration
9133
9134 2001-12-12  Ed Schonberg <schonber@gnat.com>
9135
9136         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
9137         sem_attr.
9138
9139 2001-12-12  Robert Dewar <dewar@gnat.com>
9140
9141         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
9142
9143 2001-12-12  Emmanuel Briot <briot@gnat.com>
9144
9145         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
9146         and it adds dependencies to system.io.
9147
9148 2001-12-12  Pascal Obry <obry@gnat.com>
9149
9150         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
9151         variable name.
9152
9153 2001-12-11  Ed Schonberg <schonber@gnat.com>
9154
9155         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
9156         that is the parent of other generics, the instance body replaces the
9157         instance node.  Retrieve the instance of the spec, which is the one
9158         that is visible in clients and within the body.
9159
9160 2001-12-11  Vincent Celier <celier@gnat.com>
9161
9162         * gnatmain.adb: Initial version.
9163
9164         * gnatmain.ads: Initial version.
9165
9166         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
9167
9168         * snames.adb: Updated to match snames.ads.
9169
9170         * snames.ads: Added Gnatstub.
9171
9172 2001-12-11  Vincent Celier <celier@gnat.com>
9173
9174         * prj-attr.adb (Initialization_Data): Change name from
9175         Initialisation_Data.
9176
9177 2001-12-11  Emmanuel Briot <briot@gnat.com>
9178
9179         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
9180         + and * applied to backslashed expressions like \r.
9181
9182 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
9183
9184         * g-os_lib.ads: String_List type added, Argument_List type is now
9185         subtype of String_List.
9186
9187 2001-12-11  Robert Dewar <dewar@gnat.com>
9188
9189         * g-os_lib.ads: Change copyright to FSF
9190         Add comments for String_List type
9191
9192 2001-12-11  Vincent Celier <celier@gnat.com>
9193
9194         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
9195         string to the buffer).
9196
9197 2001-12-11  Ed Schonberg <schonber@gnat.com>
9198
9199         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
9200         sem_attr.
9201
9202         * sem_attr.adb: Simplify previous fix for Address.
9203         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
9204         to avoid anomalies where the bound of the type appears to raise
9205         constraint error.
9206
9207 2001-12-11  Robert Dewar <dewar@gnat.com>
9208
9209         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
9210         handled.
9211
9212 2001-12-11  Ed Schonberg <schonber@gnat.com>
9213
9214         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
9215         renamed unit before checking for recursive instantiations.
9216
9217 2001-12-11  Emmanuel Briot <briot@gnat.com>
9218
9219         * prj.ads: Add comments for some of the fields.
9220
9221 2001-12-11  Robert Dewar <dewar@gnat.com>
9222
9223         * lib-xref.adb (Output_Refs): Don't output type references outside
9224         the main unit if they are not otherwise referenced.
9225
9226 2001-12-11  Ed Schonberg <schonber@gnat.com>
9227
9228         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
9229         code and diagnose additional illegal uses
9230
9231         * sem_util.adb (Is_Object_Reference): An indexed component is an
9232         object only if the prefix is.
9233
9234 2001-12-11  Vincent Celier <celier@gnat.com>
9235
9236         * g-diopit.adb: Initial version.
9237
9238         * g-diopit.ads: Initial version.
9239
9240         * g-dirope.adb:
9241         (Expand_Path): Avoid use of Unbounded_String
9242         (Find, Wildcard_Iterator): Moved to child package Iteration
9243
9244         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
9245
9246 2001-12-11  Robert Dewar <dewar@gnat.com>
9247
9248         * sem_attr.adb: Minor reformatting
9249
9250 2001-12-11  Ed Schonberg <schonber@gnat.com>
9251
9252         * sem_ch3.adb: Clarify some ???.
9253
9254 2001-12-11  Robert Dewar <dewar@gnat.com>
9255
9256         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
9257         Exp_Pakd.Known_Aligned_Enough
9258
9259         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
9260         version is moved to Exp_Ch13.
9261
9262 2001-12-11  Robert Dewar <dewar@gnat.com>
9263
9264         * einfo.ads: Minor reformatting
9265
9266         * exp_ch5.adb: Add comment for previous.change
9267
9268         * ali.adb: New interface for extended typeref stuff.
9269
9270         * ali.ads: New interface for typeref stuff.
9271
9272         * checks.adb (Apply_Alignment_Check): New procedure.
9273
9274         * debug.adb: Add -gnatdM for modified ALI output
9275
9276         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
9277
9278         * lib-xref.adb: Extend generation of <..> notation to cover
9279         subtype/object types. Note that this is a complete rewrite,
9280         getting rid of the very nasty quadratic algorithm previously
9281         used for derived type output.
9282
9283         * lib-xref.ads: Extend description of <..> notation to cover
9284         subtype/object types. Uses {..} for these other cases.
9285         Also use (..) for pointer types.
9286
9287         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
9288
9289         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
9290         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
9291
9292 2001-12-11  Vincent Celier <celier@gnat.com>
9293
9294         * gnatcmd.adb:
9295         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
9296         Changed /BIND_ONLY to /ACTIONS=BIND
9297         Changed /LINK_ONLY to /ACTIONS=LINK
9298
9299 2001-12-11  Ed Schonberg  <schonber@gnat.com>
9300
9301         * sem_ch8.adb (Find_Selected_Component): improved search for a
9302         candidate package in case of error.
9303
9304         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
9305         chain back on scope stack before reinstalling use clauses.
9306
9307         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
9308         is enabled, do not kill the code for the condition, to preserve
9309         warning.
9310
9311 2001-12-11  Robert Dewar <dewar@gnat.com>
9312
9313         * checks.adb (Insert_Valid_Check): Apply validity check to expression
9314         of conversion, not to result of conversion.
9315
9316 2001-12-11  Ed Schonberg <schonber@gnat.com>
9317
9318         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
9319         before freezing parent. If the declarations are mutually recursive,
9320         an access to the current record type may be frozen before the
9321         derivation is complete.
9322
9323 2001-12-05  Vincent Celier <celier@gnat.com>
9324
9325         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
9326         -c /COMPILE_ONLY, -l /LINK_ONLY
9327
9328         * opt.ads:
9329         (Bind_Only): New Flag
9330         (Link_Only): New flag
9331
9332         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
9333         and -l (Link_Only)
9334
9335         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
9336
9337         * make.adb:
9338         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
9339         (Gnatmake): Set the step flags. Only perform a step if the
9340         corresponding step flag is True.
9341         (Scan_Make_Arg): Reset the bind and link step flags when -u
9342         or -gnatc has been specified.
9343
9344 2001-12-05  Ed Schonberg <schonber@gnat.com>
9345
9346         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
9347         get bounds from right operand.
9348
9349         * sem_eval.adb: Minor reformatting
9350
9351         * exp_util.adb (Make_Literal_Range): use bound of literal rather
9352         than Index'First, its lower bound may be different from 1.
9353
9354         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
9355         and C48009J
9356
9357 2001-12-05  Vincent Celier <celier@gnat.com>
9358
9359         * prj-nmsc.adb Minor reformatting
9360
9361         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
9362         set and libraries are not supported.
9363
9364 2001-12-05  Ed Schonberg <schonber@gnat.com>
9365
9366         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
9367         private view explicitly, so the back-end can treat as a global
9368         when appropriate.
9369
9370 2001-12-05  Ed Schonberg <schonber@gnat.com>
9371
9372         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
9373          unit, always replace instance node with new body, for ASIS use.
9374
9375 2001-12-05  Vincent Celier <celier@gnat.com>
9376
9377         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
9378         libraries are not supported and both attributes Library_Name and
9379         Library_Dir are specified.
9380
9381         * prj-proc.adb (Expression): Set location of Result to location of
9382         first term.
9383
9384         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
9385         (prj-nmsc is now importing MLib.Tgt)
9386
9387         * prj-proc.adb: Put the change indicated above that was forgotten.
9388
9389 2001-12-05  Robert Dewar <dewar@gnat.com>
9390
9391         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
9392
9393 2001-12-05  Ed Schonberg <schonber@gnat.com>
9394
9395         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
9396         constraint, introduce explicit subtype declaration and derive from it.
9397
9398         * sem_ch3.adb: Minor reformatting
9399
9400 2001-12-05  Robert Dewar <dewar@gnat.com>
9401
9402         * checks.adb (Determine_Range): Increase cache size for checks.
9403         Minor reformatting
9404
9405         * exp_ch6.adb: Minor reformatting
9406         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
9407         a parameter whose root type is System.Address, since treating such
9408         subprograms as pure in the code generator is almost surely a mistake
9409         that will lead to unexpected results.
9410
9411         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
9412         change handling of conversions.
9413
9414         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
9415
9416 2001-12-05  Ed Schonberg <schonber@gnat.com>
9417
9418         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
9419         aggregate with static wrong size, attach generated Raise node to
9420         declaration.
9421
9422 2001-12-05  Robert Dewar <dewar@gnat.com>
9423
9424         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
9425         Fixes compilation abandoned bomb in B24009B.
9426
9427 2001-12-05  Ed Schonberg <schonber@gnat.com>
9428
9429         * sem_ch12.adb:
9430         Document use of Associated_Node on Selected_Components.
9431         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
9432         to clarify use of untyped descendant fields.
9433
9434 2001-12-05  Robert Dewar <dewar@gnat.com>
9435
9436         * prj-dect.ads: Add ??? comment
9437         Add 2001 to copyright notice (was not done in after all)
9438
9439         * prj-part.adb: Minor reformatting. Reword one awkward error message.
9440
9441         * prj.ads: Minor reformatting throughout, and add some ??? comments
9442
9443         * snames.ads: Minor reformatting
9444
9445 2001-12-05  Geert Bosch <bosch@gnat.com>
9446
9447         * snames.adb: Autoupdate
9448
9449 2001-12-05  Vincent Celier <celier@gnat.com>
9450
9451         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
9452
9453         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
9454
9455         * prj-env.adb: Minor comment changes (modifying -> extends).
9456
9457         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
9458
9459         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
9460         Tok_Extends.
9461
9462         * prj.adb (Initialize): Change Modifying to Extends.
9463
9464         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
9465
9466         * prj.ads: Minor comment change (Modifying -> extending).
9467
9468         * snames.ads: Change modifying to extends.
9469
9470 2001-12-05  Robert Dewar <dewar@gnat.com>
9471
9472         * sem_warn.adb: Remove stuff for conditionals, we are not going to
9473         do this after all.
9474
9475         * sem_warn.ads: Remove stuff for conditionals, we are not going to
9476         do this after all.  Add 2001 to copyright notice
9477
9478 2001-12-04  Geert Bosch <bosch@gnat.com>
9479
9480         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
9481
9482 2001-12-04  Robert Dewar <dewar@gnat.com>
9483
9484         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
9485         location if we already have errors. Stops some cases of cascaded
9486         errors.
9487
9488         * errout.adb: Improve comment.
9489
9490 2001-12-04  Robert Dewar <dewar@gnat.com>
9491
9492         * sem_ch12.adb:
9493         (Analyze_Formal_Type_Definition): Defend against Error.
9494         (Analyze_Formal_Subprogram): Defend against Error.
9495
9496         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
9497         remove following semicolon if present. Removes cascaded error.
9498
9499 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
9500
9501         * bindgen.adb:
9502         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
9503          exceptions equals 0.
9504         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
9505         Fixes PIWG E tests (which have to be run with -gnatL).
9506
9507 2001-12-04  Robert Dewar <dewar@gnat.com>
9508
9509         * einfo.ads: Minor reformatting
9510
9511 2001-12-04  Ed Schonberg <schonber@gnat.com>
9512
9513         * einfo.ads: Block_Node points to the identifier of the block, not to
9514         the block node itself, to preserve the link when the block is
9515         rewritten, e.g. within an if-statement with a static condition.
9516
9517         * inline.adb (Cleanup_Scopes): recover block statement from block
9518         entity using new meaning of Block_Node.
9519
9520         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
9521         identifier of block node, rather than to node itself.
9522
9523 2001-12-04  Gary Dismukes <dismukes@gnat.com>
9524
9525         * layout.adb:
9526         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
9527         (Discrimify): Go back to setting the Etypes of the selected component
9528         because the Vname component does not exist at this point and will
9529         fail name resolution. Also set Analyzed.
9530         Remove with and use of Sem_Res.
9531
9532 2001-12-04  Arnaud Charlet <charlet@gnat.com>
9533
9534         * Makefile.in: (HIE_SOURCES): add s-fat*.
9535
9536 2001-12-04  Robert Dewar <dewar@gnat.com>
9537
9538         * sem_attr.adb:
9539         (Compile_Time_Known_Attribute): New procedure.
9540         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
9541          proper range check.
9542
9543 2001-12-04  Ed Schonberg <schonber@gnat.com>
9544
9545         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
9546         processing discriminants to diagnose illegal default values.
9547
9548 2001-12-04  Ed Schonberg <schonber@gnat.com>
9549
9550         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
9551         access discriminant within a type extension that constrains its
9552         parent discriminants.
9553
9554 2001-12-04  Ed Schonberg <schonber@gnat.com>
9555
9556         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
9557         is malformed, use instance of Any_Id to allow analysis to proceed.
9558
9559         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
9560         type definition is illegal.
9561         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
9562         misplaced.
9563
9564 2001-12-04  Ed Schonberg <schonber@gnat.com>
9565
9566         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
9567         constants.
9568
9569 2001-12-04  Robert Dewar <dewar@gnat.com>
9570
9571         * errout.adb: Minor reformatting
9572
9573 2001-12-04  Robert Dewar <dewar@gnat.com>
9574
9575         * exp_util.adb: Minor reformatting from last change
9576
9577         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
9578         which is a rewriting of an expression, traverse the original
9579         expression to remove warnings that may have been posted on it.
9580
9581 2001-12-04  Ed Schonberg <schonber@gnat.com>
9582
9583         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
9584         record that has other packed components.
9585
9586 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
9587
9588         * adaint.c: Minor cleanups.
9589
9590 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
9591
9592         * adaint.c: Do not use utime.h on vxworks.
9593
9594 2001-12-04  Arnaud Charlet <charlet@gnat.com>
9595
9596         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
9597         more confusion than it solves.
9598
9599 2001-12-04  Geert bosch <bosch@gnat.com>
9600
9601         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
9602
9603 2001-12-04  Geert Bosch  <bosch@gnat.com>
9604
9605         * Makefile.in (update-sources): New target.
9606         For use by gcc_release script.
9607
9608 2001-12-04  Ed Schonberg <schonber@gnat.com>
9609
9610         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
9611         a configuration pragma, it is now legal wherever a pragma can appear.
9612
9613 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
9614
9615         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
9616         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
9617         is now @CROSS@ -DIN_GCC; update comment.
9618
9619 2001-12-04  Robert Dewar <dewar@gnat.com>
9620
9621         * einfo.adb (Has_Pragma_Pure_Function): New flag.
9622         Fix problem that stopped ceinfo from working
9623
9624         * einfo.ads (Has_Pragma_Pure_Function): New flag.
9625
9626         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
9627
9628 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
9629
9630         * gnatchop.adb:
9631         (File_Time_Stamp): New procedure.
9632         (Preserve_Mode): New boolean.
9633         (Write_Unit): Pass time stamp.
9634         Implement -p switch (preserve time stamps).
9635
9636         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
9637
9638         * gnatchop.adb: Do usage info for -p switch
9639
9640         * adaint.h (__gnat_set_file_time_name): New function
9641
9642         * adaint.c (__gnat_set_file_time_name): Implement
9643
9644         * adaint.h: Fix typo
9645
9646 2001-12-03  Robert Dewar <dewar@gnat.com>
9647
9648         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
9649         have Associated_Node.
9650
9651 2001-12-03  Robert Dewar <dewar@gnat.com>
9652
9653         * prj-proc.adb: Minor reformatting
9654
9655         * make.adb: Minor reformatting
9656
9657 2001-12-03  Geert Bosch <bosch@gnat.com>
9658
9659         * make.adb: Minor reformatting.
9660
9661 2001-12-03 Robert Dewar  <dewar@gnat.com>
9662
9663         * sem_ch12.adb: Minor reformatting
9664
9665 2001-12-03  Ed Schonberg <schonber@gnat.com>
9666
9667         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
9668         push Standard on the stack before analyzing the instance body,
9669         in order to have a clean visibility environment.
9670
9671         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
9672
9673 2001-12-03  Ed Schonberg <schonber@gnat.com>
9674
9675         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
9676         instantiation of a body that contains an inlined body.
9677
9678 2001-12-03  Ed Schonberg <schonber@gnat.com>
9679
9680         * sem_ch12.adb:
9681         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
9682         to prevent freezing within formal packages.
9683         (Freeze_Subprogram_Body): If body comes from another instance that
9684         appeared before its own body, place freeze node at end of current
9685         declarative part, to prevent a back-end crash.
9686         (Inline_Instance_Body): Handle properly a package instance within
9687         a subprogram instance that is a child unit.
9688
9689 2001-12-01  Graham Stott  <grahams@redhat.com>
9690
9691         * Makefile.in (misc.o): Add missing $(srcdir) prefix
9692         and add optabs.h dependency.
9693
9694         * misc.c: Include optabs.h
9695         (gnat_tree_code_type): Make static and const.
9696         (gnat_tree_code_length): Likewise.
9697         (gnat_tree_code_name): Likewise.
9698         (update_setjmp_buf): Obtain operands mode from insn_data.
9699
9700 2001-11-29  Richard Henderson  <rth@redhat.com>
9701
9702         * init.c: Remove obsolete dwarf2 frame.h section.
9703
9704 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
9705
9706         * Make-lang.in (ada.generated-manpages): New dummy target.
9707
9708 2001-11-29  Ed Schonberg <schonber@gnat.com>
9709
9710         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
9711         into Command, an array conversion is illegal here. Uncovered by
9712         ACATS B460005.
9713
9714 2001/11/28  Geert Bosch <bosch@gnat.com>
9715
9716         * init.c: Minor whitespace changes.
9717
9718 2001-11-28  Doug Rupp <rupp@gnat.com>
9719
9720         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
9721         signal stack.
9722
9723 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
9724
9725         * misc.c (gnat_expand_constant): Move declaration above
9726         definition of lang_hooks.
9727         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
9728         (gnat_init): lang_expand_constant no longer exists.
9729
9730         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
9731         always have vprintf.
9732         (gnat_init): Always call set_internal_error_function.
9733
9734 2001-11-27  Andreas Jaeger  <aj@suse.de>
9735
9736         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
9737
9738 2001-11-27  Laurent Guerby  <guerby@acm.org>
9739
9740         * Makefile.in: Regenerate Ada dependencies.
9741
9742 2001-11-26  Richard Henderson  <rth@redhat.com>
9743
9744         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
9745         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
9746         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
9747
9748 2001-11-25  Laurent Guerby  <guerby@acm.org>
9749
9750         * sysdep.c (rts_get_*): Fix style.
9751
9752 2001-11-19  Laurent Guerby  <guerby@acm.org>
9753
9754         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
9755         since it is of no apparent use and cause warnings.
9756
9757 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
9758
9759         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
9760         static too.
9761         (gnat_init): Don't return NULL.
9762         (finish_parse): Remove.
9763
9764 2001-11-17  Laurent Guerby  <guerby@acm.org>
9765
9766         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
9767         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
9768         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
9769         * lang-spec.h: Add missing struct field to silence warnings.
9770         * sysdep.c (rts_get_*): Provide K&R prototype.
9771         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
9772         * traceback.c (Unlock_Task, Lock_Task): Likewise.
9773         * tracebak.c (__gnat_backtrace): Remove unused variable.
9774         * utils.c (end_subprog_body): Move to K&R style.
9775
9776 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9777
9778         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
9779
9780 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
9781
9782         * misc.c (gnat_init): Change prototype.  Include the
9783         functionality of the old init_parse and init_decl_processing.
9784         (gnat_init_decl_processing): New prototype.
9785         (init_parse): Remove.
9786         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
9787
9788 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
9789
9790         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
9791         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
9792         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
9793         set_yydebug): Remove.
9794
9795 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
9796
9797         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
9798         (struct lang_hooks): Constify.
9799         (language_string, lang_identify): Remove.
9800         * utils.c (init_decl_processing): Update.
9801
9802 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9803
9804         * misc.c: Include langhooks-def.h.
9805         * Makefile.in: Update.
9806
9807 2001-10-30  Robert Dewar <dewar@gnat.com>
9808
9809         * style.adb:
9810         (Check_Identifier): Rewrite circuit to be compatible with use of letters
9811         in the upper half of ASCII.
9812         (Check_Identifier): Minor reformatting
9813
9814 2001-10-30  Geert Bosch <bosch@gnat.com>
9815
9816         * (Associated_Node, Set_Associated_Node): Do not check for
9817         Freeze_Entity.
9818
9819 2001-10-30  Robert Dewar <dewar@gnat.com>
9820
9821         * a-reatim.ads: Minor reformatting
9822
9823 2001-10-30  Robert Dewar <dewar@gnat.com>
9824
9825         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
9826         undocumented declarations.
9827
9828 2001-10-30  Pascal Obry <obry@gnat.com>
9829
9830         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
9831         to the binder and linker.
9832         Minor style fix.
9833
9834         * mdll.ads: Fix layout.  Update copyright notice.
9835
9836         * mdll.adb: Fix layout.  Update copyright notice.
9837
9838 2001-10-30  Robert Dewar <dewar@gnat.com>
9839
9840         * usage.adb: Minor fix to output for -gnaty.
9841
9842 2001-10-30  Ed Schonberg <schonber@gnat.com>
9843
9844         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
9845         to accommodate all its possible values.
9846
9847         * a-reatim.adb (Split): Special-case handling of Time_Span_First
9848         and of small absolute values of T.
9849
9850 2001-10-30  Richard Kenner <kenner@gnat.com>
9851
9852         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
9853         set_mem_attributes since not needed and wrong if RESULT if a REG;
9854         fixes ACATS failures.
9855
9856 2001-10-30  Geert Bosch <bosch@gnat.com>
9857
9858         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
9859         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
9860
9861 2001-10-30  Robert Dewar <dewar@gnat.com>
9862
9863         * bindusg.adb: Undocument -f switch.
9864
9865         * gnatcmd.adb: Remove /FULL_ELABORATION.
9866
9867         * opt.ads (Force_RM_Elaboration_Order): Document that this is
9868         obsolescent.
9869
9870         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
9871
9872         * gnatbind.adb: Minor update of warning msg.
9873
9874 2001-10-30  Vincent Celier <celier@gnat.com>
9875
9876         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
9877         for project file switches (-P (/PROJECT_FILE=),
9878          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
9879         or MEDIUM or HIGH)
9880
9881 2001-10-30  Geert Bosch <bosch@gnat.com>
9882
9883         * decl.c: Minor whitespace fixes.
9884
9885 2001-10-30  Richard Kenner <kenner@gnat.com>
9886
9887         * utils2.c (build_allocator): Test for SIZE overflow in array case too
9888
9889 2001-10-30  Geert Bosch <bosch@gnat.com>
9890
9891         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
9892         Found due to GCC 3.0 warning of using uninitialized value.
9893
9894         * layout.adb:
9895         (Get_Max_Size): Use variant record for tracking value/expression.
9896          Makes logic clearer and prevents warnings for uninitialized variables.
9897         (Layout_Array_Type): Use variant record for tracking value/expression.
9898          Makes logic clearer and prevents warnings for uninitialized variables.
9899
9900 2001-10-30  Robert Dewar <dewar@gnat.com>
9901
9902         * lib.adb: Minor reformatting
9903
9904         * s-taprop.ads: Minor reformatting
9905
9906 2001-10-29  Laurent Guerby  <guerby@acm.org>
9907
9908         * init.c:
9909         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
9910         const.
9911         (_gnat_error_handler): Make MSG const.
9912
9913 2001-10-29  Richard Kenner <kenner@gnat.com>
9914
9915         * sysdep.c: Fix localtime_r problem on LynxOS.
9916         Also remove #elif to avoid warnings.
9917
9918         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
9919         used by this.
9920
9921         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
9922
9923 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
9924
9925         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
9926         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
9927         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
9928         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
9929         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
9930         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
9931         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
9932         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
9933         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
9934         types.ads, urealp.adb: Fix spelling errors.
9935
9936 2001-10-27  Laurent Guerby <guerby@acm.org>
9937
9938         * trans.c (gigi): Fix non determinism leading to bootstrap
9939         comparison failures for debugging information.
9940
9941 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
9942
9943         * gnat_rm.texi: Use @./@: where appropriate.
9944
9945 2001-10-26  Robert Dewar <dewar@gnat.com>
9946
9947         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
9948
9949 2001-10-26  Richard Kenner <kenner@gnat.com>
9950
9951         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
9952
9953 2001-10-26  Richard Kenner <kenner@gnat.com>
9954
9955         * decl.c (validate_size): Modify message for bad size to avoid
9956         implication that compiler is modifying the size.
9957
9958 2001-10-26  Robert Dewar <dewar@gnat.com>
9959
9960         * prj-util.adb: Minor reformatting. Fix bad header format.
9961
9962 2001-10-26  Robert Dewar <dewar@gnat.com>
9963
9964         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
9965
9966         * sinfo.ads: Clarify use of Associated_Node (documentation only).
9967
9968         * sem_ch12.adb: Change Node4 to Associated_Node. Change
9969         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
9970         much more narrowly in places where needed. These are cleanups.
9971
9972 2001-10-26  Joel Brobecker <brobecke@gnat.com>
9973
9974         * 5zosinte.ads (null_pthread): new constant.
9975
9976         * 5ztaprop.adb:
9977         (Initialize_TCB): Initialize thread ID to null, to be able to verify
9978          later that this field has been set.
9979         (Finalize_TCB): ditto.
9980         (Suspend_Task): Verify that the thread ID is not null before using it.
9981         (Resume_Task): ditto.
9982
9983         * s-tasdeb.adb:
9984         (Resume_All_Tasks): Lock the tasks list before using it.
9985         (Suspend_All_Tasks): ditto.
9986
9987 2001-10-26  Richard Kenner <kenner@gnat.com>
9988
9989         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
9990         Make constant variant of designated type for Is_Access_Constant.
9991         Call update_pointer_to with main variant.
9992
9993         * trans.c (process_freeze_entity, process_type):
9994         Call update_pointer_to on main variant.
9995
9996         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
9997         If main variant, update all other variants.
9998
9999         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
10000         TREE_STATIC.
10001
10002 2001-10-26  Robert Dewar <dewar@gnat.com>
10003
10004         * prj-util.adb: Minor reformatting
10005
10006 2001-10-26  Robert Dewar <dewar@gnat.com>
10007
10008         * prj-util.adb: Minor reformatting
10009
10010 2001-10-26  Robert Dewar <dewar@gnat.com>
10011
10012         * prj-attr.adb: Minor reformatting throughout
10013
10014 2001-10-26  Robert Dewar <dewar@gnat.com>
10015
10016         * prj-attr.ads: Minor reformatting
10017         Add ??? comment (this whole spec has almost no comments)
10018
10019 2001-10-26  Vincent Celier <celier@gnat.com>
10020
10021         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
10022         ("//") that precede the drive letter on Interix.
10023
10024 2001-10-26  Geert Bosch <bosch@gnat.com>
10025
10026         * gnat_rm.texi: Add GNAT Reference Manual.
10027
10028 2001-10-25  Robert Dewar <dewar@gnat.com>
10029
10030         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
10031         is Error. Similar change for other renaming cases.
10032
10033 2001-10-25  Robert Dewar <dewar@gnat.com>
10034
10035         * s-atacco.ads: Add pragma Inline_Always for functions.
10036         Fix header format. Add copyright 2001
10037
10038 2001-10-25  Ed Schonberg <schonber@gnat.com>
10039
10040         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
10041         return Error rather than Empty so that analysis can proceed.
10042
10043 2001-10-25  Ed Schonberg <schonber@gnat.com>
10044
10045         * sem_util.adb (Enter_Name): better handling of cascaded error
10046         messages when a unit appears in its own context.
10047
10048 2001-10-25  Ed Schonberg <schonber@gnat.com>
10049
10050         * sem_util.adb (Defining_Entity): in case of error, attach created
10051         entity to specification, so that semantic analysis can proceed.
10052
10053 2001-10-25  Robert Dewar <dewar@gnat.com>
10054
10055         * sem_util.adb
10056         (Defining_Entity): Deal with Error.
10057         (Process_End_Label): Deal with bad end label for.
10058
10059 2001-10-25  Ed Schonberg <schonber@gnat.com>
10060
10061         * sem_elab.adb (Check_A_Call): refine message when call is in an
10062         instance but callee is not declared in the generic unit.
10063
10064 2001-10-25  Ed Schonberg <schonber@gnat.com>
10065
10066         * sem_elab.adb (Check_A_Call): check for renaming before finding the
10067         enclosing unit, which may already be different from the calling unit.
10068
10069 2001-10-25  Geert Bosch <bosch@gnat.com>
10070
10071         * 4gintnam.ads: fix header format.
10072
10073 2001-10-25  Ed Schonberg <schonber@gnat.com>
10074
10075         * sem_res.adb (Resolve_Call): if the call is actually an indexing
10076         operation on the result of a parameterless call, perform elaboration
10077         check after the node has been properly rewritten.
10078
10079         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
10080         inlined within the generic tree, the defining identifier is not a
10081         compilation_unit.
10082
10083 2001-10-25  Ed Schonberg <schonber@gnat.com>
10084
10085         * sem_res.adb (Resolve): special-case resolution of Null in an
10086          instance or an inlined body to avoid view conflicts.
10087
10088         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
10089          compatibility by retrieving the access type of the generic copy.
10090
10091 2001-10-25  Robert Dewar <dewar@gnat.com>
10092
10093         * sem_ch3.adb:
10094         (Analyze_Number_Declaration): Handle error expression.
10095         (Signed_Integer_Type_Declaration): Handle error bound.
10096         (Analyze_Subtype_Indication): Handle error range.
10097
10098         * sem_util.adb (Get_Index_Bounds): Check for Error.
10099
10100 2001-10-25  Robert Dewar <dewar@gnat.com>
10101
10102         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
10103         in no run time mode.
10104
10105 2001-10-25  Pascal Obry <obry@gnat.com>
10106
10107         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
10108         mode case for ALLOC case.
10109
10110         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
10111         all platforms. Improvement of last change.
10112
10113 2001-10-25  Robert Dewar <dewar@gnat.com>
10114
10115         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
10116
10117 2001-10-25  Geert Bosch  <bosch@gnat.com>
10118
10119         * osint.adb (Is_Relative): Remove duplicate.
10120
10121 2001-10-25  Pascal Obry <obry@gnat.com>
10122
10123         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
10124         pathnames in UNIX and DOS style with drive letter.
10125         (Is_Relative): new routine.
10126
10127         * osint.adb: Minor reformatting
10128
10129         * osint.adb (Is_Relative): implementation using
10130         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
10131
10132 2001-10-25  Pascal Obry <obry@gnat.com>
10133
10134         * g-dirope.adb (Basename): correctly compute offset between the
10135         original Path and the translated one.
10136
10137         * g-dirope.adb: (Base_Name): add some comments.
10138
10139 2001-10-25  Robert Dewar <dewar@gnat.com>
10140
10141         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
10142         in HIE mode, avoids compilation abandoned message
10143
10144         * exp_imgv.adb: Correct typo in previous change
10145
10146         * exp_imgv.adb: Correct typo in previous change (not my day!)
10147
10148 2001-10-25  Robert Dewar <dewar@gnat.com>
10149
10150         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
10151
10152 2001-10-25  Pascal Obry <obry@gnat.com>
10153
10154         * g-awk.ads: Move all pragma inlines next to the routine
10155          declarations. This is more uniform with other GNAT spec.
10156
10157 2001-10-22  Geert Bosch  <bosch@gnat.com>
10158
10159         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
10160
10161 2001-10-19  Geert Bosch  <bosch@gnat.com>
10162
10163         * Makefile.in (tools, gnattools): Remove gnatmem.
10164
10165 2001-10-17  Richard Henderson  <rth@redhat.com>
10166
10167         * Makefile.in (misc.o): Depend on langhooks.h.
10168         * misc.c: Include it.
10169         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
10170         (LANG_HOOKS_DECODE_OPTION): New.
10171         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
10172
10173 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
10174
10175         * trans.c (tree_transform): Adjust to recent change in
10176         expand_asm_operands to implement named asm operands.
10177
10178 2001-10-11  Ed Schonberg  <schonber@gnat.com>
10179
10180         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
10181         renaming of discriminant for mutable record type.
10182
10183 2001-10-11  Robert Dewar  <dewar@gnat.com>
10184
10185         * validsw.adb: Properly save -gnatVn status.
10186
10187 2001-10-11  Robert Dewar <dewar@gnat.com>
10188
10189         * usage.adb: Add lines for V switch.
10190
10191         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
10192         (/VALIDITY_CHECKING).
10193
10194 2001-10-11  Ed Schonberg <schonber@gnat.com>
10195
10196         * sem_type.adb (Add_One_Interp): an operator for a type declared in
10197         an extension of System is known to be visible.
10198
10199 2001-10-11  Ed Schonberg <schonber@gnat.com>
10200
10201         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
10202         properly. Fixes regression on ACATS C34005G.
10203
10204 2001-10-11  Robert Dewar <dewar@gnat.com>
10205
10206         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
10207         loop in generic instance, since this is likely not very useful.
10208
10209 2001-10-11  Robert Dewar <dewar@gnat.com>
10210
10211         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
10212         the error message for high integrity mode.
10213
10214         * rtsfind.adb (RTE): Give message if we try to find an entity that
10215         is not available in high integrity mode.
10216
10217         * rtsfind.ads:
10218         (OK_To_Use_In_HIE_Mode): New array.
10219         (RTE): May return Empty in high integrity mode.
10220
10221         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
10222         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
10223
10224         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
10225         unit if not inlined always and in no runtime mode. Fixes problem
10226         caused by new Rtsfind changes.
10227
10228         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
10229         body is deleted.
10230
10231         * rtsfind.adb (RTE): Make sure we do not try to load unit after
10232         giving message for entity not available in high integrity mode.
10233
10234 2001-10-11  Pascal Obry <obry@gnat.com>
10235
10236         * impunit.adb: Add GNAT.CRC32.
10237
10238 2001-10-11  Ed Schonberg <schonber@gnat.com>
10239
10240         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
10241         properly the case where one universal operand in a non-static
10242         exponentiation of a real literal.
10243
10244 2001-10-11  Ed Schonberg <schonber@gnat.com>
10245
10246         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
10247         clause, return the gobal finalization list, for lack of anthing else.
10248
10249 2001-10-11  Ed Schonberg <schonber@gnat.com>
10250
10251         * exp_ch7.adb (Make_Transient_Block): if statement is within
10252         exception handler, always use new transient scope to place Clean
10253         procedure.
10254
10255 2001-10-11  Pascal Obry <obry@gnat.com>
10256
10257         * Makefile.in:
10258         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
10259         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
10260         (GNATLS_RTL_OBJS): add g-crc32.o
10261         (GNATMAKE_RTL_OBJS): add g-crc32.o
10262
10263         * ali-util.adb:
10264         (CRC_Match): new function.
10265         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
10266         instead of the previous simple checksum algorithm.
10267         (Time_Stamp_Mismatch): use CRC_Match for comparison.
10268         (Set_Source_Table): idem.
10269
10270         * ali-util.ads:
10271         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
10272         instead of simple checksum.
10273         (CRC_Match): new function.
10274         (CRC_Error): new constant.
10275
10276         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
10277         a CRC now and not a simple checksum. A CRC uses lower-case hex
10278         letters, fixes ambiguity in parsing.
10279
10280         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
10281         is what this variable will store.
10282
10283         * bcheck.adb: Change reference to chechsum in comments by CRC.
10284         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
10285         rename All_Checksum_Match to All_CRC_Match. Change due to API
10286         renaming since now GNAT does not use a simple checksum but a
10287         CRC using GNAT.CRC32.
10288
10289         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
10290         now and not anymore a simple checksum.
10291
10292         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
10293         places.
10294
10295         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
10296
10297         * scans.adb:
10298         (Restore_Scan_State): rename Checksum to CRC.
10299         (Save_Scan_State): idem.
10300
10301         * scans.ads:
10302         With GNAT.CRC32.
10303         (Checksum): rename to CRC.
10304         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
10305
10306         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
10307         GNAT.CRC32).  Update copyright notice.
10308
10309         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
10310         GNAT.CRC32).  Update copyright notice.
10311
10312         * scn.adb:
10313         (Accumulate_Checksum): removed.
10314         (Update): new procedure. Add a wide-character into the CRC.
10315
10316         * sinput-l.adb:
10317         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
10318         (Load_File): fix initialization of S (change Source_Checksum to
10319         Source_CRC)
10320
10321         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
10322         Source_CRC in S initialization.
10323
10324         * sinput.adb (Source_Checksum): renamed to Source_CRC.
10325
10326         * sinput.ads (Source_Checksum): renamed to Source_CRC.
10327         Update comments for the CRC.
10328
10329         * types.adb (Hex): Use lowercase for the letter part.
10330
10331         * types.ads (Get_Hex_String): Returns the hexadecimal representation
10332         for a word. This is currently used only for CRC. In previous version,
10333         the checksum was using a representation with all letter being
10334         upper-case. With the new implementation (using CRC) we do not remove
10335         the 32th bit of the CRC, so we can have an upper-case starting letter
10336         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
10337         It is ambigous since the CRC was optional and could be followed by
10338         options like EB, EE. So now this routines uses lower-case letter for
10339         the hexadecimal representation. Strange enough only lower case letters
10340         where checked in Scan_ALI (even if this was not a possible case).
10341
10342         * gnatvsn.ads (Library_Version): changed to 3.15a.
10343
10344         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
10345         for the compiler.
10346
10347         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
10348         for the compiler.
10349
10350         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
10351         Add 2001 to copyright notice
10352         (Accumulate_Checksum): Modify to use System.CRC32.
10353
10354         * ali-util.ads: Redo changes of previous revision to continue to use
10355         the word Checksum. Add 2001 to copyright notice.
10356
10357         * ali.adb: Undo some of previous changes, not needed.
10358         Keep the change for lower case letters in the checksum.
10359
10360         * ali.ads: Undo previous change not needed.
10361
10362         * bcheck.adb: Undo most of previous change, not needed.
10363         But do use Checksums_Match for checksum comparison.
10364
10365         * gnatls.adb: Undo most of previous change, not needed.
10366         But do use Checksums_Match for comparing checksums.
10367
10368         * lib-load.adb: Undo previous change, not needed.
10369
10370         * lib-writ.adb: Undo previous change, not needed.
10371
10372         * lib-writ.ads: Document that checksums use lower case,
10373         not upper case letters.
10374
10375         * scans.adb: Undo previous change, not needed
10376
10377         * scans.ads: Undo previous change, not needed.
10378
10379         * scn-nlit.adb: Undo previous changes, not needed.
10380
10381         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
10382
10383         * scn.adb:
10384         (Accumulate_Checksum): Use System.CRC32.
10385         (Initialize_Checksum): New procedure.
10386         Remove other changes of previous revision.
10387
10388         * sinput-p.adb: Undo previous change, not needed.
10389
10390         * sinput.adb: Undo previous change, not needed.
10391
10392         * sinput-l.adb: Undo previous change, not needed.
10393
10394         * sinput.ads: Undo previous change, not needed.  Keep only comment
10395         on new checksum algorithm
10396
10397         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
10398         Also remove a-tags and a-stream from GNAT sources.
10399
10400         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
10401
10402         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
10403
10404 2001-10-11  Geert Bosch  <bosch@gnat.com>
10405
10406         * einfo.h: Regenerate.
10407
10408         * nmake.ads: Regenerate.
10409
10410         * nmake.adb: Regenerate.
10411
10412         * sinfo.h: Regenerate.
10413
10414         * treeprs.adb: Regenerate.
10415
10416 2001-10-10  Geert Bosch  <bosch@gnat.com>
10417
10418         * gnat-style.texi: New file describing coding guidelines for Ada.
10419
10420 2001-10-10  Ed Schonberg <schonber@gnat.com>
10421
10422         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
10423         is Flag174.
10424
10425 2001-10-10  Geert Bosch  <bosch@gnat.com>
10426
10427         * snames.ads: Add new names for project facility.
10428
10429         * snames.adb: Update to reflect snames.ads changes.
10430
10431         * snames.h: Update to reflect snames.ads changes.
10432
10433 2001-10-10  Vincent Celier <celier@gnat.com>
10434
10435         * make.adb:
10436         (Add_Switches): reflect the changes for the switches attributes
10437         Default_Switches indexed by the programming language,
10438         Switches indexed by the file name.
10439         (Collect_Arguments_And_Compile): Idem.
10440         Reflect the attribute name changes.
10441
10442         * prj-attr.adb:
10443         (Initialisation_Data): Change the names of some packages and
10444         attributes.
10445         (Initialize): process case insensitive associative arrays.
10446
10447         * prj-attr.ads:
10448         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
10449
10450         * prj-dect.adb:
10451         (Parse_Attribute_Declaration): For case insensitive associative
10452          arrays, set the index string to lower case.
10453
10454         * prj-env.adb:
10455         Reflect the changes of the project attributes.
10456
10457         * prj-nmsc.adb:
10458         Replace Check_Naming_Scheme by Ada_Check and
10459         Language_Independent_Check.
10460
10461         * prj-nmsc.ads:
10462         Replaced Check_Naming_Scheme by 2 procedures:
10463         Ada_Check and Language_Independent_Check.
10464
10465         * prj-proc.adb:
10466         (Process_Declarative_Items): For case-insensitive associative
10467         arrays, set the index string to lower case.
10468         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
10469         Prj.Nmsc.Check_Naming_Scheme.
10470
10471         * prj-tree.adb:
10472         (Case_Insensitive): New function
10473         (Set_Case_Insensitive): New procedure
10474
10475         * prj-tree.ads:
10476         (Case_Insensitive): New function
10477         (Set_Case_Insensitive): New procedure
10478         (Project_Node_Record): New flag Case_Insensitive.
10479
10480         * prj-util.adb:
10481         (Value_Of): new function to get the string value of a single
10482         string variable or attribute.
10483
10484         * prj-util.ads:
10485         (Value_Of): new function to get the string value of a single
10486         string variable or attribute.
10487
10488         * prj.adb:
10489         (Ada_Default_Spec_Suffix): New function
10490         (Ada_Default_Impl_Suffix): New function
10491         Change definitions of several constants to reflect
10492         new components of record types.
10493
10494         * prj.ads:
10495         (Naming_Data): Change several components to reflect new
10496         elements of naming schemes.
10497         (Project_Data): New flags Sources_Present and
10498         Language_Independent_Checked.
10499         (Ada_Default_Spec_Suffix): New function.
10500         (Ada_Default_Impl_Suffix): New function.
10501
10502         * snames.ads:
10503         Modification of predefined names for project manager: added
10504         Implementation, Specification_Exceptions, Implementation_Exceptions,
10505         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
10506         Default_Switches, _Languages, Builder, Cross_Reference,
10507         Finder. Removed Body_Part, Specification_Append, Body_Append,
10508         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
10509         Gnatlink.
10510
10511         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
10512         Add comments.
10513
10514         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
10515         not that it is Nil_Variable_Value.
10516
10517         * prj.ads: Add ??? for uncommented declarations
10518
10519 2001-10-10  Ed Schonberg <schonber@gnat.com>
10520
10521         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
10522         constant, do not indicate possible modification, so that gigi can
10523         treat it as a bona fide constant.
10524
10525 2001-10-10  Robert Dewar <dewar@gnat.com>
10526
10527         * sem_prag.adb: Add processing for pragma External.
10528
10529         * snames.ads: Add entry for pragma External.
10530
10531         * par-prag.adb: Add pragma External.
10532
10533         * snames.adb: Updated to match snames.ads.
10534
10535 2001-10-10  Ed Schonberg <schonber@gnat.com>
10536
10537         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
10538         a dynamic task if the allocator appears in an indexed assignment
10539         or selected component assignment.
10540
10541         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
10542         For a dynamic task in an assignment statement, use target of
10543         assignment to generate meaningful name.
10544
10545 2001-10-10  Ed Schonberg <schonber@gnat.com>
10546
10547         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
10548         a generic package.
10549
10550         * einfo.ads: Body_Entity is also defined for generic package.
10551         Documentation change only
10552
10553         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
10554         others_choice for a discriminated component initialization,
10555         convert discriminant references into the corresponding discriminals.
10556
10557         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
10558         only if original type is private and expression has to be wrapped
10559         in a conversion.
10560
10561         * checks.adb:
10562         (Apply_Constraint_Check): Do not perform length check
10563         if expression is an aggregate with only an others_choice.
10564         (Length_N_Cond): two references to the same in_parameter
10565         (typically the discriminal in an init_proc) denote the same value.
10566         Two useful optimization uncovered by bugfixes above.
10567
10568 2001-10-10  Robert Dewar <dewar@gnat.com>
10569
10570         * xeinfo.adb: Change int to char in translation of enumeration types.
10571         This fixes a problem in the C representation of component alignment.
10572         Add 2001 to copyright notice
10573
10574 2001-10-10  Richard Kenner <kenner@gnat.com>
10575
10576         * decl.c: (validate_size): Do check size of object of integral type
10577         if it is a packed array type.
10578
10579 2001-10-10  Richard Kenner <kenner@gnat.com>
10580
10581         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
10582         VAR_DECL for constant if not Is_Public but -O0.
10583
10584 2001-10-10  Richard Kenner  <kenner@gnat.com>
10585
10586         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
10587
10588 2001-10-10  Geert Bosch  <bosch@gnat.com>
10589
10590         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
10591         use '/' as switch character, allowing for absolute file names.
10592
10593 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
10594
10595         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
10596         FSF address.
10597
10598 2001-10-08  Geert Bosch  <bosch@gnat.com>
10599
10600         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
10601         Automatically build utilities when files need to be regenerated.
10602
10603 2001-10-08  Geert Bosch  <bosch@gnat.com>
10604
10605         * xsnames.adb: New utility for updating snames.ads and snames.adb
10606
10607 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
10608
10609         * Make-lang.in (ADAFLAGS): Add -W -Wall.
10610         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
10611         (gnat1): Also depend on attribs.o.
10612         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
10613         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
10614         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
10615         (ADAFLAGS): Add -W -Wall.
10616         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
10617         take out CFLAGS.
10618
10619         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
10620         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
10621         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
10622         Use $(ADAC), not $(CC), as compilation command.
10623
10624         (gnattools): Depend directly on tools to build, don't use
10625         recursive make.
10626         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
10627
10628         * einfo.h, sinfo.h: New files (autogenerated).
10629
10630 2001-10-08  Richard Henderson  <rth@redhat.com>
10631
10632         * comperr.adb (Abort_In_Progress): New.
10633         (Compiler_Abort): Use it to prevent recursion.
10634
10635 2001-10-08  Robert Dewar <dewar@gnat.com>
10636
10637         * atree.adb: Set Error_Posted in Error node, helps error recovery.
10638
10639         * par-endh.adb (Output_End_Expected): We should also not test
10640         Error_Posted on the Error node, since now it is always set.
10641
10642         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
10643         to help error recovery. Part of general work on 9407-004.
10644
10645         * par.adb: Add ??? for misuse of error
10646
10647         * sem_res.adb:
10648         (Resolve): Defend against Error, fixes 9407-003.
10649         (Resolve_Discrete_Subtype_Indication): Defend against Error.
10650
10651         * sinfo.ads (N_Error): Now has Etype field (which will be set
10652         to Any_Type to help error recovery).
10653
10654 2001-10-08  Richard Kenner (kenner@gnat.com)
10655
10656         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
10657         Consistently set MEM attributes from expression; fixes
10658         bootstrap failure on x86.
10659
10660 2001-10-08  Geert Bosch  (bosch@gnat.com)
10661
10662         * 5oosinte.adb: Add 2001 to copyright notice.
10663
10664 2001-10-08  Geert Bosch  (bosch@gnat.com)
10665
10666         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
10667
10668         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
10669
10670 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
10671
10672         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
10673
10674 2001-10-05  Geert Bosch  (bosch@gnat.com)
10675
10676         * adaint.h: Small formatting fix.
10677
10678 2001-10-04  Geert Bosch  <bosch@gnat.com>
10679
10680         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
10681         Arg is int, not FILE *, in dummy version of functions.
10682
10683         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
10684         Arg is int, not FILE *.
10685
10686 2001-10-04  Geert Bosch  <bosch@gnat.com>
10687
10688         * 3lsoccon.ads: Added file, missed with initial check ins.
10689
10690         * 4lintnam.ads: Fix header format.
10691         Change Linux to GNU/Linux.
10692
10693         * 5iosinte.adb: Change Linux to GNU/Linux.
10694
10695         * 5iosinte.ads: Change Linux to GNU/Linux.
10696
10697         * 5itaprop.adb: Change Linux to GNU/Linux.
10698
10699         * 5itaspri.ads: Change Linux to GNU/Linux.
10700         Update copyright notice.
10701
10702         * 5lintman.adb: Change Linux to GNU/Linux.
10703
10704         * 5lml-tgt.adb: Change Linux to GNU/Linux.
10705
10706         * 5losinte.ads: Change Linux to GNU/Linux.
10707
10708         * 5lsystem.ads: Change Linux to GNU/Linux.
10709
10710         * 5qosinte.adb: Change Linux to GNU/Linux.
10711
10712         * 5qosinte.ads: Change Linux to GNU/Linux.
10713
10714         * 5qparame.ads: Change Linux to GNU/Linux.
10715
10716         * 5qtaprop.adb: Change Linux to GNU/Linux.
10717
10718         * 5qtaspri.ads: Change Linux to GNU/Linux.
10719         Add 2001 to copyright notice.
10720
10721         * 5vintman.ads: Change Linux to GNU/Linux.
10722         Fix header format.  Add 2001 to copyright notice.
10723
10724         * g-soccon.ads: Change Linux to GNU/Linux.
10725
10726         * g-trasym.ads: Change Linux to GNU/Linux.
10727         Add 2001 to copyright notice.
10728
10729         * memtrack.adb: Change Linux to GNU/Linux.
10730
10731         * s-intman.ads: Change Linux to GNU/Linux.
10732         Add 2001 to copyright notice.  Fix header format.
10733
10734         * s-stache.adb: Change Linux to GNU/Linux.
10735
10736         * adaint.c: Change Linux to GNU/Linux.
10737
10738         * cio.c: Change Linux to GNU/Linux.
10739
10740         * cstreams.c: Change Linux to GNU/Linux.
10741
10742         * init.c: Change Linux to GNU/Linux.
10743
10744         * gmem.c: Change Linux to GNU/Linux.
10745
10746         * tracebak.c: Change Linux to GNU/Linux.
10747
10748
10749 2001-10-02  Geert Bosch  <bosch@gnat.com>
10750
10751         * misc.c (insert_default_attributes): Add dummy version.