OSDN Git Service

2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2
3         Part of function-at-a-time conversion
4
5         * misc.c (adjust_decl_rtl): Deleted.
6         (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
7         Define.
8
9         * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
10         (add_decl_stmt, add_stmt, block_has_vars): New functions.
11         (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
12
13         * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
14         when making a decl.
15         (gnat_to_gnu_entity): Likewise.
16         Use add_stmt to update setjmp buffer.
17         Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
18         flush_addressof.
19         No longer call adjust_decl_rtl.
20         (DECL_INIT_BY_ASSIGN_P): New macro.
21         (DECL_STMT_VAR): Likewise.
22
23         * trans.c (gigi): Call start_block_stmt to make the outermost
24         BLOCK_STMT.
25         (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
26         Call start_block_stmt and end_block_stmt temporarily.
27         Use gnat_expand_stmt instead of expand_expr_stmt.
28         (add_decl_stmt): New function.
29         (tree_transform): Call it.
30         (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
31         (end_block_stmt): Set type and NULL_STMT.
32         (gnat_expand_stmt): Make recursize call instead of calling
33         expand_expr_stmt.
34         (gnat_expand_stmt, case DECL_STMT): New case.
35         (set_lineno_from_sloc): Do nothing if global.
36         (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
37         (start_block_stmt, add_stmt, end_block_stmt): New functions.
38         (build_block_stmt): Call them.
39         (gnat_to_code): Don't expand NULL_STMT.
40         (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
41         args.
42         (tree_transform): Likewise.
43         (tree_transform, case N_Null_Statement): Return NULL_STMT.
44         (gnat_expand_stmt, case NULL_STMT): New case.
45         (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
46         IF_STMT_TRUE.
47
48         * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
49         TREE_ADDRESSABLE.
50
51         * utils.c (create_var_decl): Do not call expand_decl or
52         expand_decl_init.
53         Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
54         Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
55         here.
56         (struct e_stack): Add chain_next to GTY.
57         (struct binding_level): Deleted.
58         (struct ada_binding_level): New struct.
59         (free_block_chain): New.
60         (global_binding_level, clear_binding_level): Deleted.
61         (global_bindings_p): Rework to see if no chain.
62         (kept_level_p, set_block): Deleted.
63         (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
64         new data structure and work directly on BLOCK node.
65         (gnat_poplevel): Similarly.
66         (get_decls): Look at BLOCK_VARS.
67         (insert_block): Work directly on BLOCK node.
68         (block_has_var): New function.
69         (pushdecl): Rework for new binding structures.
70         (gnat_init_decl_processing): Rename and rework calls to pushlevel and
71         poplevel.
72         (build_subprog_body): Likewise.
73         (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
74
75         * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
76
77         * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
78         (DECL_STMT_VAR): Likewise.
79
80 2004-05-17  Robert Dewar  <dewar@gnat.com>
81
82         * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
83         procedure
84
85         * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
86         of restriction synonyums by using
87         Restrict.Process_Restriction_Synonyms.
88
89         * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
90
91         * s-restri.ads (Tasking_Allowed): Correct missing comment
92
93         * s-rident.ads: Add entries for restriction synonyms
94
95         * ali.adb: Fix some problems with badly formatted ALI files that can
96         result in infinite loops.
97
98         * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
99         s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
100         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
101         s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
102         s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
103         s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
104         s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
105         s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
106         s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
107         a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
108         exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
109         s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
110         s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
111         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
112         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
113         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
114         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
115         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
116         s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
117         s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
118         to Task_Id (minor cleanup).
119
120 2004-05-17  Vincent Celier  <celier@gnat.com>
121
122         * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
123         directory separator.
124
125         * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
126         project being extended, if Languages is not declared in extending
127         project.
128
129 2004-05-17  Javier Miranda  <miranda@gnat.com>
130
131         * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
132         limited view of a visible sibling.
133
134 2004-05-14  Robert Dewar  <dewar@gnat.com>
135
136         * gnat_ugn.texi: Minor change to -gnatS documentation
137
138         * sprint.adb: Remove some instances of Assert (False) and for this
139         purpose replace them by output of a ??? string.
140
141         * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
142         Assert (False).
143
144         * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
145         flag processing. This was suppressing required dependencies in
146         No_Run_Time mode and is not needed since the binder does not generate
147         references for things in libgnat anyway.
148
149         * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
150         warning.
151
152 2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
153
154         * gnat_ugn.texi: Document AIX-specific issue with initialization of
155         resolver library.
156
157         * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
158         action for the case of an actual parameter in an init proc call.
159
160 2004-05-14  Ed Schonberg  <schonberg@gnat.com>
161
162         * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
163         subtype, check visible entities in base type.
164
165         * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
166         actions if the object is a renaming.
167
168         * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
169         Check_Formal_Package_Instance, to determine more precisely when the
170         formal and the actual denote the same entity.
171
172 2004-05-14  Javier Miranda  <miranda@gnat.com>
173
174         * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
175
176         * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
177         corresponding to a private_with must be removed from visibility; it
178         will be made visible later, just before we analyze the private part of
179         the package.
180         (Check_Private_Child_Unit): Allow private_with clauses in public
181         siblings.
182         (Install_Siblings): Make visible the private entities of private-withed
183         siblings.
184         (Install_Withed_Unit): Do not install the private withed unit if we
185         are compiling a package declaration and the Private_With_OK flag was
186         not set by the caller. These declarations will be installed later,
187         just before we analyze the private part of the package.
188
189         * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
190         during the evaluation of the expression that initializes the object,
191         decorate it with the expected type to avoid cascade errors.
192         Code cleanup.
193
194         * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
195         subprogram we have to install the private_with clauses after its
196         specification has been analyzed (as documented in AI-262.TXT).
197
198         * sem_ch8.adb (Has_Private_With): New function. Determines if the
199         current compilation unit has a private with on a given entity.
200         (Find_Direct_Name): Detect the Beaujolais problem described in
201         AI-262.TXT
202
203         * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
204         provides the functionality of the function Is_Ancestor that was
205         previously available in sem_ch10. It has been renamed to avoid
206         overloading.
207
208         * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
209
210 2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
211
212         * utils.c (build_vms_descriptor): Use SImode pointers.
213
214 2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
215
216         * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
217
218 2004-05-14  GNAT Script  <nobody@gnat.com>
219
220         * Make-lang.in: Makefile automatically updated
221
222 2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
223
224         Renaming of target specific files for clarity
225
226         * Makefile.in: Rename GNAT target specific files.
227
228         * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
229         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
230         3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
231         3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
232         3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
233         3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
234         42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
235         4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
236         4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
237         4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
238         4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
239         4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
240         51osinte.adb, 51osinte.ads, 51system.ads,
241         52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
242         55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
243         56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
244         56tpopsp.adb, 57system.ads, 58system.ads,
245         5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
246         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
247         5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
248         5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
249         5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
250         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
251         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
252         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
253         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
254         5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
255         5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
256         5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
257         5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
258         5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
259         5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
260         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
261         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
262         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
263         5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
264         5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
265         5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
266         5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
267         5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
268         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
269         5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
270         5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
271         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
272         5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
273         5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
274         5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
275         5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
276         5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
277         5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
278         5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
279         5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
280         5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
281         7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
282         7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
283         7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
284         7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
285
286         * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
287         a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
288         a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
289         a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
290         a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
291         a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
292         a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
293         a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
294         a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
295         a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
296         g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
297         g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
298         g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
299         g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
300         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
301         g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
302         g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
303         g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
304         interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
305         mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
306         mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
307         mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
308         s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
309         s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
310         s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
311         s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
312         s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
313         s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
314         s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
315         s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
316         s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
317         s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
318         s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
319         s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
320         s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
321         s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
322         s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
323         s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
324         s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
325         s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
326         s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
327         s-osinte-vms.ads, s-osinte-vxworks.adb,
328         s-osinte-vxworks.ads, s-osprim-mingw.adb,
329         s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
330         s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
331         s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
332         s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
333         s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
334         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
335         s-stchop-vxworks.adb, s-taprop-dummy.adb,
336         s-taprop-hpux-dce.adb, s-taprop-irix.adb,
337         s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
338         s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
339         s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
340         s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
341         s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
342         s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
343         s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
344         s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
345         s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
346         s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
347         s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
348         s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
349         s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
350         s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
351         s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
352         s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
353         s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
354         symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
355         system-hpux.ads, system-interix.ads, system-irix-n32.ads,
356         system-irix-o32.ads, system-linux-x86_64.ads,
357         system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
358         system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
359         system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
360         system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
361         system-vxworks-alpha.ads, system-vxworks-m68k.ads,
362         system-vxworks-mips.ads, system-vxworks-ppc.ads,
363         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
364         above.
365
366 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
367
368         * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
369
370 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
371
372         Merge from tree-ssa-20020619-branch.
373
374         * config-lang.in (boot_language, build_by_default): Set
375         to no.
376         * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
377         (max_size): Add static chain op for call_expr.
378
379 2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
380
381         PR target/15331
382         * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
383
384 2004-05-11  Roger Sayle  <roger@eyesopen.com>
385
386         * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
387         COND_EXPR.
388
389 2004-05-10  Doug Rupp  <rupp@gnat.com>
390
391         * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
392         system.aux_dec.
393
394         * s-auxdec.ads: Add Short_Address subtype (moved here from System).
395
396         * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
397
398         * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
399         Fixes undefined symbols in IA64 gnatlib.
400
401         * 5vinmaop.adb: Reference s-auxdec for Short_Address.
402
403         * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
404         Short_Address). This will be moved to system.auxdec.
405
406 2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
407
408         * sem_util.adb: Replace test for presence of a node that is always
409         present with a call to Discard_Node.
410
411         * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
412         Analyze on the library unit node after generation of distribution stub
413         constructs.  The call was a no-op because Unit_Node has already been
414         Analyzed, and the tree fragments for the distribution stubs are
415         analyzed as they are inserted in Exp_Dist.
416         Update comment regarding to distribution stubs to reflect that we
417         do not generate stub in separate files anymore.
418
419         * einfo.ads: Clarify the fact that a tagged private type has the
420         E_Record_Type_With_Private Ekind.
421
422         * erroutc.adb: Minor reformatting
423
424         * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
425         values if line length is increased using -gnatyM (noticed during code
426         reading).
427
428         * eval_fat.adb: Minor reformatting
429         Put spaces around exponentiation operator
430
431 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
432
433         PR ada/15005
434         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
435         has been rewritten as an explicit dereference, retrieve type of
436         original node to check for possibly unconstrained record type.
437
438 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
439
440         * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
441         overriding, use the operation of the parent unconditionally.
442
443         * sem_ch4.adb (Remove_Address_Interpretations): Remove address
444         operation when either operand is a literal, to avoid further
445         ambiguities.
446
447         * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
448         overridden by a previous explicit declaration, mark the previous entity
449         as overriding.
450
451         * sem_disp.adb (Check_Dispatching_Operation): New predicate
452         Is_Visibly_Controlled, to determine whether a declaration of a
453         primitive control operation for a derived type overrides an inherited
454         one. Add warning if the explicit declaration does not override.
455
456 2004-05-10  Vincent Celier  <celier@gnat.com>
457
458         * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
459         some cases when the sources are no longer present.
460
461         * make.adb (Collect_Arguments): Fail if an external source, not part
462         of any project need to be compiled, when switch -x has not been
463         specified.
464
465         * makeusg.adb: Document new switch -x
466
467         * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
468         defaulted to False.
469
470         * switch-m.adb (Scan_Make_Switches): New switch -x
471
472         * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
473         gnatmake switch -x.
474
475         * gnat_ugn.texi: Document new gnatmake switch -x
476
477 2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
478
479         * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
480
481         * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
482         (process_attributes): Likewise.
483
484 2004-05-10  Joel Brobecker  <brobecker@gnat.com>
485
486         * s-inmaop.ads: Fix spelling mistake in one of the comments.
487
488 2004-05-10  Robert Dewar  <dewar@gnat.com>
489
490         * gnat_ugn.texi: Document that for config pragma files, the maximum
491         line length is always 32767.
492
493         * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
494         literals is now allowed.
495
496         * gnat-style.texi: Remove statement about splitting long lines before
497         an operator rather than after, since we do not follow this rule at all.
498         Clarify rule (really lack of rule) for spaces around exponentiation
499
500         * sem_elim.adb: Allow concatenation of string literals as well as a
501         single string literal for pragma arguments.
502
503         * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
504
505         * a-textio.adb (Terminate_Line): Do not add line feed if nothing
506         written for append case.
507
508         * frontend.adb: Changes to avoid checking max line length in config
509         pragma files.
510
511         * g-os_lib.ads: Minor reformatting
512
513         * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
514         wrong in any case. Instead use standard value. Noticed during code
515         reading.
516
517         * opt.ads (Max_Line_Length): New field, used to implement removal of
518         limitation on length of lines when scanning config pragma files.
519
520         * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
521         makeutl.ads, makeutl.adb: Minor reformatting
522
523         * scn.adb: Do not check line length while scanning config pragma files
524         Do not check line length while scanning out license information
525
526         * scng.adb: Changes to avoid line length checks while parsing config
527         pragma files.
528
529 2004-05-10  GNAT Script  <nobody@gnat.com>
530
531         * Make-lang.in: Makefile automatically updated
532
533 2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
534
535         * osint.adb (Find_Program_Name): Fix handling of VMS version
536         number.
537
538 2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
539
540         * g-os_lib.ads (Invalid_Time): New constant
541
542         * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
543         return OS_Time instead of time_t to match what is imported by Ada.
544         Now return -1 if the file doesn't exist, instead of a random value
545
546 2004-05-05  Robert Dewar  <dewar@gnat.com>
547
548         * usage.adb: Add line for -gnatR?s switch
549
550         * sem_ch13.adb, exp_ch2.adb: Minor reformatting
551
552         * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
553         and for Match (Data_First, Data_last)
554
555         * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
556         written when we are dealing with multi-unit files.
557
558 2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
559
560         * Makefile.in: Remove unused targets and variables.
561
562 2004-05-05  Vincent Celier  <celier@gnat.com>
563
564         * switch-m.adb: New gnatmake switch -eI
565
566         * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
567         of new gnatmake switch -eInnn.
568
569         * makegpr.adb: Take into account new parameters Index and Src_Index in
570         Prj.Util.
571
572         * clean.adb: Implement support for multi-unit sources, including new
573         switch -i.
574
575         * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
576         Src_Index.
577
578         * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
579         (Extract_From_Q): New out parameter Index
580         (Mark, Is_Marked): Subprograms moved to Makeutl
581         (Switches_Of): New parameter Source_Index
582         (Add_Switch): New parameter Index
583         (Check): New parameter Source_Index
584         (Collect_Arguments): New parameter Source_Index
585         (Collect_Arguments_And_Compile): New parameter Source_Index
586         (Compile): New parameter Source_Index
587         Put subprograms in alphabetical order
588         Add support for multi-source sources, including in project files.
589
590         * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
591         (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
592         Make.
593
594         * makeusg.adb: New gnatmake switch -eInnn
595
596         * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
597         Prj.Util.Value_Of.
598
599         * opt.ads (Main_Index): New variable, defaulted to 0.
600
601         * osint.ads, osinte.adb (Add_File): New parameter Index
602         (Current_Source_Index): New function
603
604         * prj.adb: Take into account new components Index and Src_Index
605
606         * prj.ads (String_Element): New component Index
607         (Variable_Value): New component Index
608         (Array_Element): New component Src_Index
609
610         * prj-attr.adb: Indicate that optional index may be specified for
611         attributes Main, Executable, Spec, Body and some of Switches.
612
613         * prj-attr.ads (Attribute_Kind): New values for optional indexes
614         (Attribute_Record): New component Optional_Index
615
616         * prj-com.ads (File_Name_Data): New component Index
617
618         * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
619
620         * prj-env.adb (Put): Output optional index
621
622         * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
623         attributes Spec and Body.
624
625         * prj-nmsc.adb: Process optional indexes
626
627         * prj-pp.adb: Ouput "at" for optional indexes
628
629         * prj-proc.adb: Take into account optional indexes
630
631         * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
632         Optional_Index. For string literal,
633         process optional index when Optional_Index is True.
634         (Parse_Expresion): New Boolean parameter Optional_Index
635
636         * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
637         (Set_Source_Index_Of): New procedure
638
639         * prj-util.adb (Executable_Of, Value_Of): Take into account optional
640         index.
641
642         * prj-util.ads (Executable_Of): New parameter Index
643         (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
644         New parameter Src_Index, defaulted to 0.
645
646 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
647
648         PR ada/15257
649         * sem_ch3.adb (Access_Definition): If this is an access parameter
650         whose designated type is imported through a limited_with clause, do
651         not add the enclosing subprogram to the list of private dependents of
652         the type.
653
654 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
655
656         PR ada/15258
657         * sem_ch6.adb (Base_Types_Match): True if one type is imported through
658         a limited_with clause, and the other is its non-limited view.
659
660 2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
661
662         * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
663
664         * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
665         exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
666         Stand.Boolean_Literals to produce references to entities
667         Standard_False and Standard_True from compile-time computed boolean
668         values.
669
670         * stand.ads (Boolean_Literals): New variable, provides the entity
671         values for False and True, for use by the expander.
672
673 2004-05-05  Doug Rupp  <rupp@gnat.com>
674
675         * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
676         5vinmaop.adb: Unchecked convert Short_Address vice Address
677
678         * adaint.c, raise.c: Caste CRTL function return value
679         to avoid gcc error on 32/64 bit IVMS.
680
681         * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
682         target = IA64/VMS.
683
684         * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
685
686         * 5qsystem.ads (Address): Declare as Long_Integer
687         (Short_Address): Declare as 32 bit subtype of Address
688         Declare  abstract address operations to avoid gratuitous ambiguities.
689
690 2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
691
692         * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
693         instead of the old Boolean_Entry_Barriers.
694         Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
695
696 2004-05-05  GNAT Script  <nobody@gnat.com>
697
698         * Make-lang.in: Makefile automatically updated
699
700 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
701
702         * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
703
704 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
705
706         PR ada/15152
707
708         * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
709         alone. Replacing object references by literals is inappropriate in a
710         so low level context.
711
712 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
713
714         * a-exexpr.adb: Add comments
715
716 2004-05-03  Joel Brobecker  <brobecker@gnat.com>
717
718         * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
719         declare the Ancestor_Tags array in Type_Specific_Data with a small size
720         without risking a bounds check error when accessing one of its
721         components.
722         (Type_Specific_Data): Define Ancestor_Tags as a small array.
723         This prevents us from hitting a limitation during the debug info
724         generation when using stabs.
725
726         * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
727         small array.
728         This prevents us from hitting a limitation during the debug info
729         generation when using stabs.
730
731 2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
732
733         lang-specs.h: Remove -gnatz* from specs.
734
735 2004-05-03  Vincent Celier  <celier@gnat.com>
736
737         * gprmake.adb, makegpr.ads, makegpr.adb: New files.
738
739         * Make-lang.in, Makefile.in: Add gprmake
740
741 2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
742
743         * sem_aggr.adb: Fix typo in comment.
744
745 2004-05-03  Robert Dewar  <dewar@gnat.com>
746
747         * make.adb: Minor reformatting
748
749         * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
750
751         * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
752         so that it works when address is not a private type.
753
754         * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
755         properly with rewritten unchecked conversions. This prevents
756         order-of-elaboration issues that can otherwise arise.
757         (Minimum_Size): Don't check size of access types under VMS
758
759         * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
760         interpretations of integer literals as type System.Address.
761
762         * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
763         (Is_Descendent_Of): New function
764
765 2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
766
767         * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
768         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
769         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
770
771         * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
772         of the old Max_Entry_Queue_Depth.
773
774         * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
775         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
776         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
777
778         * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
779         New entry for proper handling of Max_Entry_Queue_Depth.
780         New entry for proper handling of No_Dynamic_Interrupts.
781
782         * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
783         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
784         Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
785         the GNAT specific restriction Max_Entry_Queue_Depth.
786         Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
787         the GNAT specific restriction No_Dynamic_Interrupts.
788
789         * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
790         instead of the old Boolean_Entry_Barriers.
791         Use the new restriction No_Dynamic_Attachment instead of the old
792         No_Dynamic_Interrupts.
793
794         * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
795         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
796
797         * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
798         of the old Max_Entry_Queue_Depth.
799
800 2004-05-03  GNAT Script  <nobody@gnat.com>
801
802         * Make-lang.in: Makefile automatically updated
803
804 2004-04-29  Ed Schonberg  <schonberg@gnat.com>
805
806         * checks.adb (Enable_Range_Check): If the prefix of an index component
807         is an access to an unconstrained array, perform check unconditionally.
808
809 2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
810
811         * decl.c (gnat_to_gnu_field): Also call make_packable_type if
812         Component_Clause.
813
814 2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
815
816         * init.c (__gnat_install_handler, __gnat_error_handler): Remove
817         alternate stack setting. There was no support for the tasking cases
818         and the changes eventually caused a number of side-effect failures in
819         the non-tasking case too.
820
821 2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
822
823         lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
824         -gnats is passed.
825
826 2004-04-29  Vincent Celier  <celier@gnat.com>
827
828         * make.adb (Gnatmake): Increase max size of argument array for
829         gnatbind for the potential addition of -F.
830         If there are Stand-Alone Library projects, invoke gnatbind with -F to
831         be sure that elaboration flags will be checked.
832
833         * switch-c.adb: Correct call to Scan_Pos for -gnateI
834
835 2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
836
837         * sem_warn.adb (Check_References): Move '<access-variable> may be
838         null' warning out of under Warn_On_No_Value_Assigned.
839
840 2004-04-29  Ed Falis  <falis@gnat.com>
841
842         * gnat_ugn.texi: Fixed texi error
843
844 2004-04-29  Robert Dewar  <dewar@gnat.com>
845
846         * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
847         abstract operations if they come from predefined files.
848
849         * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
850         Dynamic, not RM).
851
852         * s-addope.adb: Correct obvious error in mod function
853
854 2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
855
856         * Makefile.in: Add target pairs for powerpc darwin*
857         tasking support.
858
859         * a-intnam-darwin.ads, s-osinte-darwin.adb,
860         s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
861
862 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
863
864         * Makefile.in: Add target macro definitions for s390*-linux*.
865         * system-linux-s390.ads: New file.
866         * system-linux-s390x.ads: New file.
867
868 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
869
870         * gnat_ugn.texi: Correct argument to @setfilename.
871
872 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
873
874         * a-exexpr.adb (Unwind_Word): New data type.
875         (Unwind_Exception): Use it as type of Private1 and Private2.
876
877         * raise.c (db_action_for): Fix debug printf.
878
879 2004-04-27  Ed Schonberg  <schonberg@gnat.com>
880
881         * a-wtmoio.ads: Formal type must be a modular type, not a signed
882         integer type.
883
884 2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
885
886         * decl.c (gnat_to_gnu_entity, case object): Call
887         __builtin_update_setjmp_buf.
888
889         * gigi.h (update_setjmp_buf): Deleted.
890         (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
891
892         * misc.c: (update_setjmp_buf): Deleted.
893
894         * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
895         around block of RTL.
896
897         * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
898
899 2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
900
901         * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
902         subprogram for which no pragma All_Calls_Remote applies, store the
903         address of the real subprogram in the underlying record type, so local
904         dereferences do not go through the PCS.
905
906 2004-04-26  Robert Dewar  <dewar@gnat.com>
907
908         * i-c.ads: Add some type qualifications to avoid ambiguities when
909         compiling with s-auxdec.ads and a non-private address type.
910
911 2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
912
913         * Makefile.rtl: Fix error in previous check-in:
914         Add s-addope.o to non tasking object list (rather than tasking object
915         list).
916
917 2004-04-26  Javier Miranda  <miranda@gnat.com>
918
919         * sem_aggr.adb: Fix typo in comments
920         (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
921         Required to check the null-exclusion attribute.
922
923         * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
924         case of anonymous access types in record and array components. For a
925         component definition the level is the same of the enclosing composite
926         type.
927
928         * sem_ch3.adb (Analyze_Component_Declaration): In case of components
929         that are anonymous access types the level of accessibility depends on
930         the enclosing type declaration. In order to have this information, set
931         the scope of the anonymous access type to the enclosing record type
932         declaration.
933         (Array_Type_Declaration): In case of components that are anonymous
934         access types the level of accessibility depends on the enclosing type
935         declaration. In order to have this information, set the scope of the
936         anonymous access type to the enclosing array type declaration.
937
938         * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
939         access type.
940
941         * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
942         renaming of anonymous access-to-constant types allowed if and only if
943         the renamed object is access-to-constant.
944
945         * sem_util.adb (Type_Access_Level): In case of anonymous access types
946         that are component_definition or discriminants of a nonlimited type,
947         the level is the same as that of the enclosing component type.
948
949 2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
950
951         * sem_elim.adb: Some minor code reorganization from code reading. Fix
952         misprint in the function name (File_Name_Match).
953
954 2004-04-23  Laurent GUERBY <laurent@guerby.net>
955
956         * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
957         install.
958
959 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
960
961         * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
962
963 2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
964
965         * adaint.c (__gnat_try_lock): No longer requires that the parent
966         directory be writable, the directory itself is enough.
967         (gnat_is_absolute_path): Change profile, so that the call from
968         GNAT.OS_Lib can be made more efficient.
969
970         * adaint.h (gnat_is_absolute_path): Change profile, so that the call
971         from GNAT.OS_Lib can be made more efficient.
972
973         * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
974         one copy of the file name. Found by code reading.
975
976 2004-04-23  Vincent Celier  <celier@gnat.com>
977
978         * gnat_ugn.texi: Add documentation for gnatmake switch -eL
979         Correct documentation on gnatmake switches transmitted to the compiler
980
981         * ali.ads: Minor comment fix
982
983 2004-04-23  Javier Miranda  <miranda@gnat.com>
984
985         * sem_ch6.adb: (Confirming Types): Code cleanup
986
987         * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
988         subprogram types: E_Anonymous_Access_Subprogram_Type and
989         E_Anonymous_Access_Protected_Subprogram_Type.
990
991 2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
992
993         * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
994         whether a pragma All_Calls_Remote applies to the subprogram on which
995         'Access is taken.
996         No functional change is introduced by this revision; the new parameter
997         will be used to allow calls to local RCI subprograms to be optimized
998         to not use the PCS in the case where no pragma All_Calls_Remote applies,
999         as is already done in the PolyORB implementation of the DSA.
1000
1001         * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
1002         whether a pragma All_Calls_Remote applies to the subprogram on which
1003         'Access is taken.
1004         No functional change is introduced by this revision; the new parameter
1005         will be used to allow calls to local RCI subprograms to be optimized
1006         to not use the PCS in the case where no pragma All_Calls_Remote applies,
1007         as is already done in the PolyORB implementation of the DSA.
1008
1009 2004-04-23  Robert Dewar  <dewar@gnat.com>
1010
1011         * Makefile.rtl: Add entry for s-addope.o in run time library list
1012         * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
1013         * s-addope.ads, s-addope.adb: New files.
1014
1015         * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
1016         s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
1017         s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
1018         System.Address to be non-private and signed.
1019
1020         * sem_elim.adb: Minor reformatting (fairly extensive)
1021         Some minor code reorganization from code reading
1022         Add a couple of ??? comments
1023
1024 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1025
1026         * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
1027         (tree_transform, case N_If_Statement): Remove non-determinism.
1028
1029         * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
1030
1031 2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
1032
1033         * gnat_rm.texi: Small fixes in the changes made in the 'pragma
1034         Eliminate' section.
1035
1036         * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
1037         no longer used as a parameter name for Eliminate pragma).
1038
1039 2004-04-22  Laurent GUERBY <laurent@guerby.net>
1040
1041         PR optimization/14984
1042         PR optimization/14985
1043         * trans.c (gigi): Fix non determinism leading to bootstrap
1044         comparison failures.
1045
1046 2004-04-21  Pascal Obry  <obry@gnat.com>
1047
1048         * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
1049         passed to spawnvp() to properly handle program pathname with spaces on
1050         Win32.
1051
1052 2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
1053
1054         * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
1055         (Allocate, Deallocate, Free_Physically): Make sure the tasks are
1056         unlocked in case of exceptions.
1057
1058 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
1059
1060         * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
1061         This function does not exist anymore.
1062
1063 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
1064
1065         * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
1066
1067         * link.c: Move variables to the __gnat name space.
1068
1069         * Makefile.in: list link.o explicitly when needed.
1070
1071         * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
1072
1073 2004-04-21  Javier Miranda  <miranda@gnat.com>
1074
1075         * einfo.adb (Original_Access_Type): New subprogram
1076         (Set_Original_Access_Type): New subprogram
1077         (Write_Field21_Name): Write the name of the new field
1078
1079         * einfo.ads (Original_Access_Type): New field present in access to
1080         subprogram types.
1081         Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
1082         E_Anonymous_Access_Protected_Subprogram_Type.
1083
1084         * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
1085         subprogram types.
1086
1087         * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
1088         to anonymous access to subprogram types.
1089
1090         * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
1091         to subprogram types.
1092
1093         * sem_ch3.adb (Access_Definition): Complete decoration of entities
1094         corresponding to anonymous access to subprogram types.
1095         (Analyze_Component_Declaration): Add new actual to the call to
1096         subprogram replace_anonymous_access_to_protected_subprogram.
1097         (Array_Type_Declaration): Add new actual to the call to subprogram
1098         replace_anonymous_access_to_protected_subprogram.
1099         (Process_Discriminants): Add new actual to the call to subprogram
1100         replace_anonymous_access_to_protected_subprogram.
1101         (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
1102
1103         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
1104         formal.
1105
1106         * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
1107         access to subprogram types.
1108
1109         * sem_util.adb (Has_Declarations): Addition of package_specification
1110         nodes.
1111
1112 2004-04-21  Ed Schonberg  <schonberg@gnat.com>
1113
1114         * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
1115         inlined flags to renamed entity only if in current unit.
1116
1117 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
1118
1119         * s-parint.ads: Add DSA implementation marker.
1120
1121         * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
1122         value of System.Partition_Interface.DSA_Implementation to determine
1123         what version of the distributed systems annex is available (no
1124         implementation, GLADE, or PolyORB).
1125
1126 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
1127
1128         * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
1129
1130 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1131
1132         * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
1133         with new type if alias sets differ.
1134         Fixes ACATS c41103b.
1135
1136 2004-04-21  Vincent Celier  <celier@gnat.com>
1137
1138         * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
1139         Add array Lang_Args for the language specific compiling argument
1140         switches.
1141
1142         * gnat_ugn.texi: Explain in more details when a library is rebuilt.
1143
1144 2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
1145
1146         * gnat_rm.texi: Update the descripton of the Eliminate pragma
1147         according to the recent changes in the format of the parameters of the
1148         pragma (replacing Homonym_Number with Source_Location).
1149
1150 2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
1151
1152         * 5isystem.ads: Removed, unused.
1153
1154         * gnat_rm.texi: Redo 1.13 change.
1155
1156 2004-04-19  Robert Dewar  <dewar@gnat.com>
1157
1158         * s-stoele.ads: Clean up definition of Storage_Offset (the new
1159         definition is cleaner, avoids the kludge of explicit Standard operator
1160         references, and also is consistent with a visible System.Address with
1161         no visible operations.
1162
1163         * s-geveop.adb: Add declarations to avoid assumption of visible
1164         operations on type System.Address (since these might not be available
1165         if Address is a non-private type for which the operations
1166         are made abstract).
1167
1168         * sem_eval.adb: Minor reformatting
1169
1170         * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
1171         s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
1172         reformatting (new function spec format).
1173
1174         * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
1175         s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
1176         s-caun64.adb: Add declarations to avoid assumption of visible
1177         operations on type System.Address (since these might not be available
1178         if Address is a non-private type for which the operations are made
1179         abstract).
1180
1181         * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
1182
1183         * exp_intr.adb: Minor comment update
1184
1185         * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
1186
1187         * 5omastop.adb: Add declarations to avoid assumption of visible
1188         operations on type System.Address (since these might not be available
1189         if Address is a non-private type for which the operations
1190         are made abstract).
1191
1192 2004-04-19  Vincent Celier  <celier@gnat.com>
1193
1194         * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
1195
1196         * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
1197         defaulted to Ada.
1198
1199         * prj-proc.adb (Process): New Boolean parameter Process_Languages,
1200         defaulted to Ada.
1201         Call Check with Process_Languages.
1202         (Check): New Boolean parameter Process_Languages. Call Recursive_Check
1203         with Process_Languages.
1204         (Recursive_Check): New Boolean parameter Process_Languages. Call
1205         Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
1206         Process_Languages.
1207
1208         * prj-proc.ads (Process): New Boolean parameter Process_Languages,
1209
1210         * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
1211         parameter Ada_Main, defaulted to True.
1212         Check for Ada specific characteristics only when Ada_Main is True.
1213
1214         * opt.ads: (Follow_Links): New Boolean flag for gnatmake
1215
1216         * prj.adb: (Project_Empty): Add new Project_Data components.
1217
1218         * prj.ads: New types and tables for non Ada languages.
1219         (Project_Data): New components Languages, Impl_Suffixes,
1220         First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
1221         Include_Path, Include_Data_Set.
1222
1223         * prj-env.ads, prj-env.adb: Minor reformatting
1224
1225         * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
1226         Put subprograms in alphabetical order
1227
1228         * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
1229         defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
1230         Opt.Follow_Links.
1231
1232         * mlib-prj.adb: Back out modification in last version, as they are
1233         incorrect.
1234         (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
1235
1236         * make.adb: (Mains): Moved to package Makeutl
1237         (Linker_Opts): Moved to package Makeutl
1238         (Is_External_Assignment): Moved to package Makeutl
1239         (Test_If_Relative_Path): Moved to package Makeutl
1240         (Gnatmake): Move sorting of linker options to function
1241         Makeutl.Linker_Options_Switches.
1242
1243         * makeutl.ads, makeutl.adb: New files.
1244
1245         * Makefile.in: Add makeutl.o to the object files for gnatmake
1246
1247         * makeusg.adb: Add line for new switch -eL.
1248
1249         * gnatls.adb (Image): New function.
1250         (Output_Unit): If in verbose mode, output the list of restrictions
1251         specified by pragmas Restrictions.
1252
1253         * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
1254         Text_IO.
1255
1256         * a-calend.adb (Split): Shift the date by multiple of 56 years, if
1257         needed, to put it in the range 1970 (included) - 2026 (excluded).
1258         (Time_Of): Do not shift Unix_Min_Year (1970).
1259         Shift the date by multiple of 56 years, if needed, to put it in the
1260         range 1970 (included) - 2026 (excluded).
1261
1262         * adaint.h, adaint.c (__gnat_set_executable): New function.
1263
1264 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1265
1266         * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
1267         and pop GC context.
1268         (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
1269         (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
1270         (tree_transform, case N_Procedure_Call_Statement): Build a tree.
1271         (tree_transform, case N_Code_Statement): Likewise.
1272         (gnat_expand_stmt, case LABEL_STMT): Don't look at
1273         LABEL_STMT_FIRST_IN_EH.
1274         (gnat_expand_stmt, case ASM_STMT): New case.
1275
1276         * utils2.c (build_unary_op): Properly set TREE_READONLY of
1277         UNCONSTRAINED_ARRAY_REF.
1278
1279         * utils.c (poplevel): Temporarily push/pop GC context around inline
1280         function expansion.
1281
1282         * decl.c (maybe_variable): Properly set TREE_READONLY of
1283         UNCONSTRAINED_ARRAY_REF.
1284         (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
1285
1286         * ada-tree.def: (ASM_STMT): New.
1287
1288         * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
1289         (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
1290         ASM_STMT_INPUT): New.
1291         (ASM_STMT_CLOBBER): Likewise.
1292
1293 2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
1294
1295         * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
1296         general rcheck mechanism to raise Program_Error for E.4(18), instead
1297         of a custom raiser in System.Partition_Interface.
1298         Part of general cleanup work before PolyORB integration.
1299
1300         * snames.ads, snames.adb: Add new runtime library entities and names
1301         for PolyORB DSA.
1302
1303         * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
1304         exp_dist.
1305         (Build_Subprogram_Id): New subprogram provided by exp_dist
1306         Code reorganisation in preparation for PolyORB integration.
1307
1308         * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
1309         exp_dist.
1310         (Build_Subprogram_Id): New subprogram provided by exp_dist
1311
1312         * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
1313         actual parameter types for call to dereference of an
1314         access-to-subprogram type.
1315
1316         * rtsfind.ads: Add new runtime library entities and names for PolyORB
1317         DSA.
1318
1319         * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
1320         instead, which has the same behaviour here since we never pass it a
1321         NULL pointer.
1322
1323         * link.c (run_path_option, Solaris case): Use -Wl, as for other
1324         platforms.
1325
1326         * Makefile.in: adjust object file lists for gnatlink and gnatmake
1327         to account for new dependency upon Interfaces.C.Strings + link.o
1328         For x86 FreeBSD, use 86numaux.
1329
1330         * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
1331         from Mlib.Tgt to Mlib.
1332
1333         * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
1334         target-independent.
1335
1336         * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
1337         target-specific versions of this subprogram, now implemented as a
1338         target-independent function in Mlib.
1339
1340         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
1341         5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
1342         (Linker_Library_Path_Option): Remove target-specific versions of this
1343         subprogram, now implemented as a target-independent function in Mlib.
1344
1345         * atree.adb: (Allocate_Initialize_Node): New subprogram.
1346         Factors out node table slots allocation.
1347         (Fix_Parents): New subprogram.
1348         Encapsulate the pattern of fixing up parent pointers for syntactic
1349         children of a rewritten node.
1350         (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
1351         (Rewrite): Use New_Copy when creating saved copy of original node.
1352         (Replace): Use Copy_Node to copy nodes.
1353
1354 2004-04-19  Javier Miranda  <miranda@gnat.com>
1355
1356         * sprint.adb (Sprint_Node_Actual): Give support to the new
1357         Access_To_Subprogram node available in Access_Definition nodes. In
1358         addition, give support to the AI-231 node fields: null-exclusion,
1359         all-present, constant-present.
1360
1361         * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
1362
1363         * sinfo.ads, sinfo.adb:
1364         New field Access_To_Subprogram_Definition in Access_Definition nodes
1365
1366         * sem_ch6.adb (Process_Formals): Move here the code that creates and
1367         decorates internal subtype declaration corresponding to the
1368         null-excluding formal. This code was previously in Set_Actual_Subtypes.
1369         In addition, carry out some code cleanup on this code. In case of
1370         access to protected subprogram call
1371         Replace_Anonymous_Access_To_Protected_Subprogram.
1372         (Set_Actual_Subtypes): Code cleanup.
1373
1374         * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
1375         Find_Type in case of anonymous access renamings. Add warning in case of
1376         null-excluding attribute used in anonymous access renaming.
1377
1378         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
1379         subprogram
1380
1381         * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
1382         subprogram.
1383         (Access_Definition): In case of anonymous access to subprograms call
1384         the corresponding semantic routine to decorate the node.
1385         (Access_Subprogram_Declaration): Addition of some comments indicating
1386         some code that probably should be added here. Detected by comparison
1387         with the access_definition subprogram.
1388         (Analyze_Component_Declaration): In case of access to protected
1389         subprogram call Replace_Anonymous_Access_To_Protected.
1390         (Array_Type_Declaration): In case of access to protected subprogram call
1391         Replace_Anonymous_Access_To_Protected_Subprogram.
1392         (Process_Discriminants): In case of access to protected subprogram call
1393         Replace_Anonymous_Access_To_Protected_Subprogram.
1394
1395         * par.adb (P_Access_Definition): New formal that indicates if the
1396         null-exclusion part was present.
1397         (P_Access_Type_Definition): New formal that indicates if the caller has
1398         already parsed the null-excluding part.
1399
1400         * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
1401         (P_Identifier_Declarations): Code cleanup and give support to renamings
1402         of anonymous access to subprogram types.
1403         (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
1404         (P_Array_Type_Definition): Give support to AI-254.
1405         (P_Component_Items): Give support to AI-254.
1406         (P_Access_Definition): New formal that indicates if the header was
1407         already parsed by the caller.
1408         (P_Access_Type_Definition): New formal that indicates if the caller has
1409         already parsed the null-excluding part.
1410
1411         * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
1412         call to P_Access_Definition.
1413
1414 2004-04-19  Geert Bosch  <bosch@gnat.com>
1415
1416         * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
1417         the delicate semantics of floating-point to integer conversion.
1418         (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
1419
1420         * eval_fat.adb (Machine_Mantissa): Moved to spec.
1421         (Machine_Radix): New function.
1422
1423         * eval_fat.ads (Machine_Mantissa): Moved from body for use in
1424         conversion checks.
1425         (Machine_Radix): New function also for use in conversion checks.
1426
1427 2004-04-19  Ed Schonberg  <schonberg@gnat.com>
1428
1429         * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
1430
1431         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
1432         to decorate the access-to-protected subprogram and the equivalent type.
1433
1434         * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
1435         to anonymous access to subprogram types.
1436
1437         * exp_ch4.adb (Expand_N_In): Preserve Static flag before
1438         constant-folding, for legality checks in contexts that require an RM
1439         static expression.
1440
1441         * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
1442         temporary but stack checking is not enabled, increment serial number
1443         to so that symbol generation is consistent with and without stack
1444         checking.
1445
1446         * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
1447         independent on whether stack checking is enabled, caller must check
1448         the corresponding flag.
1449
1450         * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
1451         range checks.
1452         (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
1453         parent if it has discriminants.
1454         (Build_Derived_Private_Type): Constructed full view does
1455         not come from source.
1456         (Process_Discriminants): Default discriminants on a tagged type are
1457         legal if this is the internal completion of a private untagged
1458         derivation.
1459
1460         * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
1461         no constraint checks, because it corresponds to an existing object.
1462
1463         * sem_prag.adb (Process_Convention): Pragma applies
1464         only to subprograms in the same declarative part, i.e. the same unit,
1465         not the same scope.
1466
1467         * sem_res.adb (Valid_Conversion): In an instance or inlined body,
1468         ignore type mismatch on a numeric conversion if expression comes from
1469         expansion.
1470
1471 2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
1472
1473         * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
1474         Homonym_Number parameter, add processing for Source_Location parameter
1475         corresponding.
1476         (Check_Eliminated): Remove the check for homonym numbers, add the check
1477         for source location traces.
1478
1479         * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
1480         with Arg_Source_Location corresponding to the changes in the format of
1481         the pragma.
1482
1483         * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
1484         Eliminate pragma corresponding to the changes in the format of the
1485         pragma: Homonym_Number is replaced with Source_Location, two ways of
1486         distinguishing homonyms are mutially-exclusive.
1487
1488 2004-04-19  Joel Brobecker  <brobecker@gnat.com>
1489
1490         * get_targ.ads (Get_No_Dollar_In_Label): Remove.
1491
1492         * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
1493         No_Dollar_In_Label, no longer necessary, as it is always True.
1494         (Strip_Suffixes): Likewise.
1495
1496 2004-04-19  Gary Dismukes  <dismukes@gnat.com>
1497
1498         * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
1499         modulus for compatibility with size clause on targets with 16-bit
1500         Integer.
1501
1502         * layout.adb (Discrimify): In the case of private types, set Vtyp to
1503         full type to fix type mismatches on calls to size functions for
1504         discriminant-dependent array components.
1505
1506 2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
1507
1508         * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
1509         lib.
1510
1511 2004-04-19  Pascal Obry  <obry@gnat.com>
1512
1513         * mdll-utl.adb (Locate): New version is idempotent.
1514
1515 2004-04-17  Laurent Guerby <laurent@guerby.net>
1516
1517         PR ada/14988 (partial)
1518         * impunit.adb: Fix typo.
1519
1520 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
1521
1522         * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
1523         and install-rts-cert targets.  Remove all gnatlib and gnattools
1524         targets and all other rts-* targets (moved to libada).  Remove (now)
1525         unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
1526         TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
1527
1528 2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1529
1530         * trans.c (tree_transform): Shortcut returning error_mark_node for
1531         statements in annotate_only_mode.
1532         (tree_transform, case N_Label, case N_Return_Statement,
1533         N_Goto_Statement): Make statement tree instead of generating code.
1534         (tree_transform, case N_Assignment_Statement): No longer check
1535         type_annotate_only.
1536         (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
1537         RETURN_STMT): New.
1538         (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
1539         New fcns.
1540         (gnat_to_gnu): Collect any RTL generated and deal with it.
1541         (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
1542         (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
1543         (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
1544
1545         * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
1546
1547         * ada-tree.def (EXPR_STMT): Fix typo in name.
1548         (BLOCK_STMT, IF_STMT): New nodes.
1549
1550         * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
1551         LABEL_STMT_FIRST_IN_EH): New macros.
1552         (RETURN_STMT_EXPR): Likewise.
1553
1554         * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
1555         IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
1556
1557 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
1558
1559         * atree.ads: Correct documentation on extended nodes.
1560
1561         * link.c: Set run_path_option for FreeBSD.
1562
1563 2004-04-08  Vincent Celier  <celier@gnat.com>
1564
1565         * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
1566         one of the ALI file, do not link with DEC lib.
1567
1568         * par.adb Remove the last two characters ("%s" or "%b") when checking
1569         if a language defined unit may be recompiled.
1570
1571 2004-04-08  Ed Schonberg  <schonberg@gnat.com>
1572
1573         * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
1574         removal of abstract operation leaves no possible interpretation for
1575         expression.
1576
1577         * sem_eval.adb (Eval_Qualified_Expression): Use
1578         Set_Raises_Constraint_Error on node when needed, so that it does not
1579         get optimized away by subsequent optimizations.
1580
1581         * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
1582         operands even when they are not wrapped in a type conversion.
1583
1584 2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
1585
1586         * sem_prag.adb (Set_Exported): Warn about making static as result of
1587         export only when the export is coming from source. This may be not
1588         be true e.g. on VMS where we expand export pragmas for exception codes
1589         together with imported or exported exceptions, and we don't want the
1590         user to be warned about something he didn't write.
1591
1592 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
1593
1594         * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
1595         duplication between normal entities and those declared as renamings.
1596         No functional change.
1597
1598         * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
1599         inline functions returning an unconstrained result.
1600
1601 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
1602
1603         * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
1604         conform to what other front-ends do.
1605
1606 2004-04-08  Doug Rupp  <rupp@gnat.com>
1607
1608         * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
1609         libraries.
1610
1611 2004-04-06  Pascal Obry  <obry@gnat.com>
1612
1613         * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
1614
1615         * osint.adb (Program_Name): Do not look past a directory separator.
1616
1617 2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
1618
1619         * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
1620
1621         * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
1622         requirement for preserving a copy of the original assignment node.
1623
1624         * sinfo.ads: Update comment (Original_Tree -> Original_Node).
1625
1626 2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
1627
1628         (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
1629         when supported.
1630
1631 2004-04-06  Ed Schonberg  <schonberg@gnat.com>
1632
1633         * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
1634         operator calls in functional notation, and apply
1635         Universal_Interpretation to operands, not to their type.
1636
1637 2004-04-06  Robert Dewar  <dewar@gnat.com>
1638
1639         * 5wdirval.adb: Minor reformatting
1640
1641 2004-04-06  Ed Falis  <falis@gnat.com>
1642
1643         * gnat_rm.texi: Improve a reference to the GCC manual
1644
1645 2004-04-05  Vincent Celier  <celier@gnat.com>
1646
1647         * adaint.h, adaint.c: Add function __gnat_named_file_length
1648
1649         * impunit.adb: Add Ada.Directories to the list
1650
1651         * Makefile.in: Add VMS and Windows versions of
1652         Ada.Directories.Validity package body.
1653
1654         * Makefile.rtl: Add a-direct and a-dirval
1655
1656         * mlib-tgt.ads: Minor comment update.
1657
1658         * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
1659         a-direct.ads, a-direct.adb: New files.
1660
1661 2004-04-05  Vincent Celier  <celier@gnat.com>
1662
1663         PR ada/13620
1664         * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
1665         just to the compiler.
1666
1667 2004-04-05  Robert Dewar  <dewar@gnat.com>
1668
1669         * a-except.adb (Exception_Name_Simple): Make sure lower bound of
1670         returned string is 1.
1671
1672         * ali-util.adb: Use proper specific form for Warnings (Off, entity)
1673
1674         * eval_fat.ads: Minor reformatting
1675
1676         * g-curexc.ads: Document that lower bound of returned string values
1677         is always one.
1678
1679         * gnatlink.adb: Add ??? comment for previous change
1680         (need to document why this is VMS specific)
1681
1682         * s-stoele.ads: Minor reformatting
1683
1684         * tbuild.ads: Minor reformatting throughout (new function specs)
1685
1686         * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
1687         after WITH.
1688
1689         * scng.adb: Minor reformatting
1690
1691 2004-04-05  Geert Bosch  <bosch@gnat.com>
1692
1693         * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
1694         (Leading_Part): Still perform truncation to machine number if the
1695         specified radix_digits is greater or equal to machine_mantissa.
1696
1697 2004-04-05  Javier Miranda  <miranda@gnat.com>
1698
1699         * par-ch3.adb: Complete documentation of previous change
1700         Correct wrong syntax documentation of the OBJECT_DECLARATION rule
1701         (aliased must appear before constant).
1702
1703         * par-ch4.adb: Complete documentation of previous change.
1704
1705         * par-ch6.adb: Complete documentation of previous change.
1706
1707         * sinfo.ads: Fix typo in commment.
1708
1709 2004-04-05  Ed Schonberg  <schonberg@gnat.com>
1710
1711         * sem_ch3.adb (Inherit_Components): If derived type is private and has
1712         stored discriminants, use its discriminants to constrain parent type,
1713         as is done for non-private derived record types.
1714
1715         * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
1716         Ada 2005 AI-310: an abstract non-dispatching operation is not a
1717         candidate interpretation in an overloaded call.
1718
1719         * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
1720         expression is Null and target type is not an access type (e.g. a
1721         non-private address type).
1722
1723 2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
1724
1725         * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
1726         statement whose right-hand side is an inlined call, save a copy of the
1727         original assignment subtree to preserve enough consistency for
1728         Analyze_Assignment to proceed.
1729
1730         * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
1731         complete assignment subtree which is now unnecessary, as the expansion
1732         of inlined call has been improved to preserve a consistent assignment
1733         tree.  Note_Possible_Modification must be called only
1734         after checks have been applied, or else unnecessary checks will
1735         be generated.
1736
1737         * sem_util.adb (Note_Possible_Modification): Reorganise the handling
1738         of explicit dereferences that do not Come_From_Source:
1739          - be selective on cases where we must go back to the dereferenced
1740            pointer (an assignment to an implicit dereference must not be
1741            recorded as modifying the pointer);
1742          - do not rely on Original_Node being present (Analyze_Assignment
1743            calls Note_Possible_Modification on a copied tree).
1744
1745         * sem_warn.adb (Check_References): When an unset reference to a pointer
1746         that is never assigned is encountered, prefer '<pointer> may be null'
1747         warning over '<pointer> is never assigned a value'.
1748
1749 2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
1750
1751         * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
1752         the ABI.
1753
1754 2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
1755
1756         * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
1757         libexc. We currently don't reference anything in this library and
1758         linking it in triggers linker warnings we don't want to see.
1759
1760         * init.c: Update comments.
1761
1762 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1763
1764         * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
1765         * utils.c (create_field_decl): Likewise.
1766         * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
1767
1768 2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
1769
1770         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
1771         Replace ifinfo by ifnottex, to make makeinfo --html happy again.
1772         Add info directory entry and category.
1773
1774 2004-04-02  Jan Hubicka  <jh@suse.cz>
1775
1776         * utils.c: Include function.h
1777         (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
1778
1779 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
1780
1781         PR ada/14150
1782         * Make-lang.in: Clean up generation of documentation
1783
1784         * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
1785
1786         * xgnatug.adb: Removed, replaced by xgnatugn.adb
1787
1788         * xgnatugn.adb: Replaces xgnatug.adb
1789
1790         * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
1791
1792         * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
1793
1794         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
1795         gnat_ug_wnt.texi: Removed.
1796
1797 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
1798
1799         * utils2.c: Update copyright notice.
1800
1801 2004-04-01  Robert Dewar  <dewar@gnat.com>
1802
1803         * checks.adb: Minor reformatting throughout
1804         Note that prev checkin added RM reference to alignment warning
1805
1806 2004-04-01  Ed Schonberg  <schonberg@gnat.com>
1807
1808         * exp_aggr.adb (Get_Component_Val): Treat a string literal as
1809         non-static when building aggregate for bit-packed array.
1810
1811         * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
1812         function call that is itself the actual in a procedure call, build
1813         temporary for it.
1814
1815         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
1816         a string literal, create a temporary for it, constant folding only
1817         handles scalars here.
1818
1819 2004-04-01  Vincent Celier  <celier@gnat.com>
1820
1821         * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
1822         Error_Msg_SP): New empty procedures to instantiate the Scanner.
1823         (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
1824         tokens.
1825         (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
1826         (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
1827         and get the checksum.
1828
1829         * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
1830         already in the Q.
1831         Increase the Marking_Label at the end of the Multiple_Main_Loop,
1832         instead of at the beginning.
1833
1834         * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
1835         directly.
1836         (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
1837         on VMS.
1838
1839         * osint.ads (Multi_Unit_Index_Character): New Character global variable
1840
1841         * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
1842         not '~' directly.
1843
1844         * par.adb: Remove test on file name to detect language defined units.
1845         Add test on unit name, after parsing, to detect language defined units
1846         that are not compiled with -gnatg (except System.RPC and its children)
1847
1848         * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
1849         following units without style checking.
1850
1851         * switch-c.adb: Change -gnatC to -gnateI
1852
1853         * usage.adb: Document new switch -gnateInnn
1854
1855         * scng.adb (Accumulate_Token_Checksum): New procedure
1856         (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
1857         word or literal number.
1858         (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
1859         numbers.
1860
1861 2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
1862
1863         * a-tasatt.adb,
1864         g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
1865         switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
1866         5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
1867         5vtpopde.adb: Add missing 'constant' keywords.
1868
1869 2004-04-01  Javier Miranda  <miranda@gnat.com>
1870
1871         * par-ch4.adb: (P_Allocator): Code cleanup
1872
1873         * sem_ch3.adb (Access_Definition): Properly set the null-excluding
1874         attribute.
1875
1876         * sinfo.ads: Complete documentation of previous change
1877
1878 2004-04-01  Pascal Obry  <obry@gnat.com>
1879
1880         * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
1881         only on VMS.  This special handling was done because an old GNU/ld bug
1882         on Windows which has been fixed.
1883
1884 2004-04-01  GNAT Script  <nobody@gnat.com>
1885
1886         * Make-lang.in: Makefile automatically updated
1887
1888 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1889
1890         * decl.c (gnat_to_gnu_entity, make_type_from_size):
1891         Use TYPE_UNSIGNED, not TREE_UNSIGNED.
1892         * trans.c (tree_transform, convert_with_check): Likewise.
1893         * utils.c (gnat_signed_or_unsigned_type): Likewise.
1894         (build_vms_descriptor, unchecked_convert): Likewise.
1895         * utils2.c (nonbinary_modular_operation): Likewise.
1896
1897 2004-03-29  Javier Miranda  <miranda@gnat.com>
1898
1899         * checks.adb (Null_Exclusion_Static_Checks): New subprogram
1900         (Install_Null_Excluding_Check): Local subprogram that determines whether
1901         an access node requires a runtime access check and if so inserts the
1902         appropriate run-time check.
1903         (Apply_Access_Check): Call Install_Null_Excluding check if required
1904         (Apply_Constraint_Check): Call Install_Null_Excluding check if required
1905
1906         * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
1907
1908         * einfo.ads: Fix typo in comment
1909
1910         * exp_ch3.adb (Build_Assignment): Generate conversion to the
1911         null-excluding type to force the corresponding run-time check.
1912         (Expand_N_Object_Declaration): Generate conversion to the null-excluding
1913         type to force the corresponding run-time check.
1914
1915         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
1916         the null-excluding type to force the corresponding run-time check.
1917
1918         * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
1919         case of access types unless they have the null-excluding attribute.
1920
1921         * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
1922         part.
1923
1924         * exp_util.ads: Fix typo in comment
1925
1926         * par.adb (P_Null_Exclusion): New subprogram
1927         (P_Subtype_Indication): New formal that indicates if the null-excluding
1928         part has been scanned-out and it was present
1929
1930         * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
1931
1932         * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
1933         (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
1934         type to force the corresponding run-time check
1935         (Resolve_Aggregate): Propagate the null-excluding attribute to the array
1936         components
1937         (Resolve_Array_Aggregate): Carry out some static checks
1938         (Resolve_Record_Aggregate.Get_Value): Carry out some static check
1939
1940         * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
1941         attribute must be set only if specified by means of the null-excluding
1942         part. In addition, we must also propagate the access-constant attribute
1943         if present.
1944         (Access_Subprogram_Declaration, Access_Type_Declaration,
1945         Analyze_Component_Declaration, Analyze_Object_Declaration,
1946         Array_Type_Declaration, Process_Discriminants,
1947         Analyze_Subtype_Declaration): Propagate the null-excluding attribute
1948         and carry out some static checks.
1949         (Build_Derived_Access_Type): Set the null-excluding attribute
1950         (Derived_Type_Declaration, Process_Subtype): Carry out some static
1951         checks.
1952
1953         * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
1954
1955         * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
1956
1957         * sem_ch6.adb (Process_Formals): Carry out some static checks.
1958         (Set_Actual_Subtypes): Generate null-excluding subtype if the
1959         null-excluding part was present; it is not required to be done here in
1960         case of anonymous access types.
1961         (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
1962         value.
1963
1964         * sem_res.adb (Resolve_Actuals): Carry out some static check
1965         (Resolve_Null): Allow null in anonymous access
1966
1967         * sinfo.adb: New subprogram Null_Exclusion_Present
1968         All_Present and Constant_Present available on access_definition nodes
1969
1970         * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
1971         object_declaration, derived_type_definition, component_definition,
1972         discriminant_specification, access_to_object_definition,
1973         access_function_definition, allocator, access_procedure_definition,
1974         access_definition, parameter_specification, All_Present and
1975         Constant_Present flags available on access_definition nodes.
1976
1977 2004-03-29  Robert Dewar  <dewar@gnat.com>
1978
1979         * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
1980         gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
1981         opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
1982         par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
1983         sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
1984         sem_prag.adb: Updates to handle multiple units/file
1985
1986         * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
1987
1988         * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
1989         sem_util.adb: Minor reformatting
1990
1991         * sem_ch12.adb: Add comment for previous change
1992
1993 2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
1994
1995         * osint.adb (Executable_Prefix): Set Exec_Name to the current
1996         executable name when not initialized. Otherwise, use its current value.
1997
1998         * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
1999         initialize it to another executable name than the current one. This
2000         allows to configure paths for an executable name (gnatmake) different
2001         from the current one (gnatdist).
2002
2003 2004-03-29  Ed Schonberg  <schonberg@gnat.com>
2004
2005         * exp_ch6.adb (Expand_Call): A call to a function declared in the
2006         current unit cannot be inlined if it appears in the body of a withed
2007         unit, to avoid order of elaboration problems in gigi.
2008
2009         * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
2010         information for protected (wrapper) operation as well, to simplify gdb
2011         use.
2012
2013         * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
2014         protected body, indicate that the entity for the generated spec comes
2015         from source, to ensure that references are properly generated for it.
2016         (Build_Body_To_Inline): Do not inline a function that returns a
2017         controlled type.
2018
2019         * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
2020         apply convention to homonyms that are declared explicitly.
2021
2022         * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
2023         that renames an equality operator and the operands are overloaded,
2024         resolve them with the declared formal types, before rewriting as an
2025         operator.
2026
2027 2004-03-29  GNAT Script  <nobody@gnat.com>
2028
2029         * Make-lang.in: Makefile automatically updated
2030
2031 2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
2032
2033         * memtrack.adb: Log realloc calls, which are treated as free followed
2034         by alloc.
2035
2036 2004-03-25  Vincent Celier  <celier@gnat.com>
2037
2038         * prj-makr.adb (Process_Directories): Detect when a file contains
2039         several units. Do not include such files in the config pragmas or
2040         in the naming scheme.
2041
2042         * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
2043         Resolve links only when not in Trusted_Mode.
2044         (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
2045         Do not resolve links for the display names.
2046
2047         * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
2048         resolve links when computing the display names.
2049
2050 2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
2051
2052         * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
2053         attribute reference does not denote a subtype, it can be any
2054         expression that has a classwide type, potentially after an implicit
2055         dereference.  In particular, the prefix can be a view conversion for
2056         a classwide type (for which Is_Object_Reference holds), but it can
2057         also be a value conversion for an access-to-classwide type. In the
2058         latter case, there is an implicit dereference, and the original node
2059         for the prefix does not verify Is_Object_Reference.
2060
2061         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
2062         conversion of a discriminant-dependent component of a mutable object
2063         is one itself.
2064
2065 2004-03-25  Ed Schonberg  <schonberg@gnat.com>
2066
2067         * freeze.adb (Freeze_Entity): When an inherited subprogram is
2068         inherited, has convention C, and has unconstrained array parameters,
2069         place the corresponding warning on the derived type declaration rather
2070         than the original subprogram.
2071
2072         * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
2073         indication on renaming declaration, if formal has a box and actual
2074         is absent.
2075
2076         * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
2077         determine whether to generate an implicit or explicit reference to
2078         the renamed entity.
2079
2080         * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
2081         subprogram renaming comes from a defaulted formal subprogram in an
2082         instance.
2083
2084 2004-03-25  Gary Dismukes  <dismukes@gnat.com>
2085
2086         * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
2087         value expressions to ensure that calls within a component definition
2088         will be checked (since those are evaluated during the record type's
2089         elaboration).
2090
2091 2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
2092
2093         * s-tpobop.adb: Code clean up:
2094         (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
2095         code.
2096         (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
2097
2098 2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
2099
2100         * Makefile.in: Clean up in the ravenscar run time.
2101
2102 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2103
2104         * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
2105         of No_Strict_Aliasing to build_pointer_type_for_mode.
2106         * utils.c (update_pointer_to): Walk pointer and ref chains.
2107
2108 2004-03-22  Cyrille Comar  <comar@act-europe.fr>
2109
2110         * ali.ads: Fix Comment about Dynamic_Elab.
2111
2112         * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
2113         Has_RACW, Is_Generic, etc.)
2114         (Output_Object, Gnatls): Take into account ALI files not attached to
2115         an object.
2116
2117 2004-03-22  Vincent Celier  <celier@gnat.com>
2118
2119         * gprep.adb: Change all String_Access to Name_Id
2120         (Is_ASCII_Letter): new function
2121         (Double_File_Name_Buffer): New procedure
2122         (Preprocess_Infile_Name): New procedure
2123         (Process_Files): New procedure
2124         (Gnatprep): Check if output and input are existing directories.
2125         Call Process_Files to do the real job.
2126
2127 2004-03-22  Robert Dewar  <dewar@gnat.com>
2128
2129         * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
2130         s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
2131
2132 2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
2133
2134         * scn.adb (Contains): Add check for EOF, is needed for a degenerated
2135         case when the source contains only comments.
2136
2137 2004-03-22  Ed Schonberg  <schonberg@gnat.com>
2138
2139         * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
2140         declaration for a child subprogram body that acts as a spec, indicate
2141         that the entity in the declaration needs debugging information.
2142
2143         * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
2144         full view if the subtype is created for a constrained record component;
2145         gigi has enough information to construct the record, and there is no
2146         place in the tree for the declaration.
2147
2148         * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
2149         serial number for the dummy body that is built for analysis, to avoid
2150         inconsistencies in the generation of internal names when compiling
2151         with -gnatN.
2152
2153 2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
2154
2155         * sem_util.adb (Is_Object_Reference): A view conversion denotes an
2156         object.
2157
2158 2004-03-22  GNAT Script  <nobody@gnat.com>
2159
2160         * Make-lang.in: Makefile automatically updated
2161
2162 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2163
2164         * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
2165         * trans.c (tree_transform, emit_index_check): Likewise.
2166         * utils.c (build_template): Likewise.
2167         (max_size, convert): Remove handling of WITH_RECORD_EXPR.
2168         (maybe_unconstrained_array, unchecked_convert): Likewise.
2169         * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
2170         (build_unary_op): Likewise.
2171         (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
2172         (fill_vms_descriptor): Likewise.
2173         (build_call_alloc_dealloc): Likewise.
2174         ALIGN is unsigned.
2175         * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
2176
2177 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2178
2179         PR other/14630
2180         * gnat_ug.texi: Add info directory category and entry.
2181         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
2182         gnat_ug_wnt.texi: Regenerate.
2183
2184 2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
2185
2186         * ada-tree.h: Update copyright notice.
2187         Minor reformatting.
2188
2189 2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
2190
2191         * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
2192         as regular exception objects and not as mere integers representing the
2193         condition code.  The latter approach required some dynamics to mask off
2194         severity bits, which did not fit well into the GCC table based model.
2195         (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
2196         exception data objects. We don't it and it would conflict with the other
2197         external symbol we have to generate for such exceptions.
2198
2199         * trans.c (tree_transform, case N_Exception_Handler): Remove part of
2200         the special code for VMS exceptions, since these are now represented
2201         as regular exceptions objects.
2202
2203 2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2204
2205         * decl.c (debug_no_type_hash): Remove.
2206         (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
2207         * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
2208
2209 2004-03-19  Laurent Guerby <laurent@guerby.net>
2210
2211         * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
2212         aggregate, allows bootstrap from 3.3 on powerpc-darwin.
2213
2214 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2215
2216         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
2217         (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
2218         (TYPE_RM_SIZE_INT): Directly use type.values.
2219         (TREE_LOOP_ID): Clean up check.
2220         * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
2221         TYPE_VALUES, not TYPE_FIELDS.
2222         * trans.c (convert_with_check): Delay access of bounds of basetype
2223         until sure is numeric.
2224
2225 2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
2226
2227         * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
2228
2229         Code clean up:
2230         * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
2231         5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
2232         Specific.Set instead of direct call to e.g pthread_setspecific.
2233
2234 2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
2235
2236         * adaint.c: Update comments.
2237
2238         * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
2239         GNATLIB_SHARED for FreeBSD.
2240
2241 2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
2242
2243         * init.c [VxWorks]: Do not fix the stack size for the environment task.
2244         When needed (stack checking) the stack size is retrieved
2245         from the VxWorks kernel.
2246
2247         * Makefile.in: Flag -nostdinc is required when building the run time
2248         for avoiding looking for files in the base compiler.
2249         Add the VxWorks specific version of the package body for
2250         System.Stack_checking.Operations (5zstchop.adb).
2251
2252         * Make-lang.in: Add the object file for
2253         System.Stack_Checking.Operations.
2254
2255         * Makefile.rtl: Add object file for the package
2256         System.Stack_Checking.Operations.
2257
2258         * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
2259
2260         * s-stache.ads, s-stache.adb: Move the operations related to stack
2261         checking from this package to package System.Stack_Checking.Operations.
2262         This way, stack checking operations are only linked in the final
2263         executable when using the -fstack-check flag.
2264
2265 2004-03-18  Doug Rupp  <rupp@gnat.com>
2266
2267         * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
2268         Reorganize ifeq's.
2269
2270         * 5qsystem.ads, 5xcrtl.ads: New files.
2271
2272 2004-03-18  Vincent Celier  <celier@gnat.com>
2273
2274         * prj.adb (Reset): Reset hash table Files_Htable
2275
2276         * prj-env.adb (Source_Paths, Object_Paths): New tables.
2277         (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
2278         the procedures Add_To_Path_File.
2279         (Set_Ada_Paths): Accumulate source and object dirs in the tables,
2280         making sure that each directory is present only once and, for object
2281         dirs, when a directory already present is added, the duplicate is
2282         removed and the directory is always put as the last in the table.
2283         Write the path files at the end of these accumulations.
2284
2285         * prj-nmsc.adb (Record_Source): Add source file name in hash table
2286         Files_Htable for all sources.
2287
2288         * prj-proc.adb (Process): Remove restrictions between not directly
2289         related extending projects.
2290
2291 2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
2292
2293         * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
2294         (Find_Sources): Minor speed optimization.
2295
2296         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
2297         parameter Trusted_Mode.
2298
2299 2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
2300
2301         * scn.adb (Determine_License): Take into account a degenerated case
2302         when the source contains only comments.
2303
2304 2004-03-18  Ed Schonberg  <schonberg@gnat.com>
2305
2306         * sem_warn.adb (Check_References): For a warning on a selected
2307         component that does not come from source, locate an uninitialized
2308         component of the record type to produce a more precise error message.
2309
2310 2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
2311
2312         * 3zsoccon.ads: Fix multicast options.
2313
2314         * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
2315         in the spec.
2316
2317 2004-03-15  Robert Dewar  <dewar@gnat.com>
2318
2319         * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
2320         pragma used for a private type.
2321
2322         * lib-xref.adb (Generate_Reference): Do not generate warning if
2323         reference is in a different unit from the pragma Unreferenced.
2324
2325         * 5vtpopde.adb: Minor reformatting
2326         Fix casing of To_Task_ID
2327
2328         * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
2329         flag if we have an unchecked conversion to an access type in the same
2330         unit.
2331
2332 2004-03-15  Geert Bosch  <bosch@gnat.com>
2333
2334         * a-ngcoty.adb (Modulus): In alternate formula for large real or
2335         imaginary parts, use Double precision throughout.
2336
2337         * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
2338         we want to be able to compile run-time with -gnata for testing, but
2339         this may also be instantiated in user code that is compiled with -gnata.
2340
2341 2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
2342
2343         * s-stalib.ads (Exception_Code): New type, to represent Import/Export
2344         codes. Having a separate type for this is useful to enforce consistency
2345         throughout the various run-time units.
2346         (Exception_Data): Use Exception_Code for Import_Code.
2347
2348         * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
2349         Natural and Integer in various places.
2350         (Register_VMS_Exception): Use Base_Code_In to compute the exception code
2351         with the severity bits masked off.
2352         (Register_VMS_Exception): Handle the additional exception data pointer
2353         argument.
2354
2355         * raise.c (_GNAT_Exception structure): Remove the handled_by_others
2356         component, now reflected by an exported accessor.
2357         (is_handled_by): New routine to compute whether the propagated
2358         occurrence matches some handler choice specification. Extracted out of
2359         get_action_description_for, and expanded to take care of the VMS
2360         specifities.
2361         (get_action_description_for): Use is_handled_by instead of an explicit
2362         complex condition to decide if the current choice at hand catches the
2363         propagated occurrence.
2364
2365         * raise.h (Exception_Code): New type for C.
2366
2367         * rtsfind.ads (RE_Id, RE_Unit_Table): Add
2368         System.Standard_Library.Exception_Code, to allow references from the
2369         pragma import/export expander.
2370
2371         * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
2372         New accessors to allow easy access to GNAT exception data
2373         characteristics.
2374         (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
2375         redundant Handled_By_Others component, helper for the personality
2376         routine which will now be able to call the appropriate exception data
2377         accessor instead.
2378
2379         * cstand.adb (Create_Standard): Adjust the type of the Import_Code
2380         component of Standard_Exception_Type to be the closest possible to
2381         Exception_Code in System.Standard_Library, that we cannot get at this
2382         point. Expand a ??? comment to notify that this type node should
2383         probably be rewritten later on.
2384
2385         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
2386         registration call to include a pointer to the exception object in the
2387         arguments.
2388
2389         * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
2390         instead of int and explicit bitmasks.
2391
2392 2004-03-15  Vincent Celier  <celier@gnat.com>
2393
2394         * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
2395         equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
2396
2397         * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
2398         longer needed now that it is in the spec of
2399         System.Tasking.Task_Attributes.
2400
2401         * adaint.h, adaint.c: (__gnat_create_output_file): New function
2402
2403         * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
2404
2405         * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
2406
2407         * make.adb (Gnatmake): Do not check the executable suffix; it is being
2408         taken care of in Scan_Make_Arg.
2409         (Scan_Make_Arg): Add the executable suffix only if the argument
2410         following -o, in canonical case, does not end with the executable
2411         suffix.  When in verbose mode and executable file name does not end
2412         with executable suffix, output the executable name, in canonical case.
2413
2414         * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
2415         to avoid warnings when instantiating Ada.Task_Attributes.
2416         Minor reformating.
2417
2418         * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
2419         in the correct order.
2420
2421         * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
2422         redirect standard output and error to a file for the invocation of the
2423         compiler, then read the file.
2424
2425         * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
2426         directory, instead of the Value.
2427         (Find_Source_Dirs): Remove useless code & comments.
2428
2429 2004-03-15  Ed Schonberg  <schonberg@gnat.com>
2430
2431         * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
2432         tagged type is inherited, and the parent operation is not frozen yet,
2433         force generation of a freeze node for the inherited operation, so the
2434         corresponding dispatch entry is properly initialized.
2435         (Make_Predefined_Primitive_Specs): Check that return type is Boolean
2436         when looking for user-defined equality operation.
2437
2438         * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
2439         boolean when locating primitive equality of tagged component.
2440
2441         * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
2442         bit-aligned field and the right-hand side a string literal, introduce
2443         a temporary before expanding assignment into a loop.
2444
2445         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
2446         priority in full, to ensure that any expanded subepxressions of it are
2447         elaborated in the scope of the init_proc.
2448
2449         * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
2450         after object declaration, skipping over code that may have been
2451         generated for validity checks.
2452
2453         * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
2454         discriminants, ignore the known discriminants of its full view, if
2455         any, to check legality.
2456
2457         * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
2458         component if type has unknown discriminants.
2459         (Analyze_Private_Extension_Declaration): Discriminant constraint is
2460         null if type has unknown discriminants.
2461
2462         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
2463         for end label when present.
2464
2465         * s-fileio.adb (Open): When called with a C_Stream, use given name for
2466         temporary file, rather than an empty string.
2467
2468 2004-03-15  Ed Falis  <falis@gnat.com>
2469
2470         * s-thread.adb: Removed, no longer used.
2471
2472 2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2473
2474         * decl.c (target.h): Now include.
2475         (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
2476         in new build_pointer_from_mode calls for non-fat/non-thin pointer.
2477         (validate_size): For POINTER_TYPE, get smallest size permitted on
2478         machine.
2479
2480         * fe.h: Sort Einfo decls and add Set_Mechanism.
2481
2482         * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
2483         (ada/decl.o): Depends on target.h.
2484
2485         * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
2486         FUNCTION_BOUNDARY; always use TYPE_ALIGN.
2487
2488 2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
2489
2490         * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
2491
2492         * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
2493         Insert_Dereference_Action when rewriting an implicit dereference into
2494         an explicit one, this will be taken care of during expansion of the
2495         explicit dereference.
2496         (Expand_N_Slice): Same. Always do the rewriting, even for the case
2497         of non-packed slices, since the dereference action generated by
2498         expansion of the explicit dereference is needed in any case.
2499         (Expand_N_Selected_Component): When rewriting an implicit dereference,
2500         analyze and resolve the rewritten explicit dereference so it is seen
2501         by the expander.
2502         (Insert_Dereference_Action): This procedure is now called only for the
2503         expansion of an N_Explcit_Dereference_Node. Do insert a check even for
2504         dereferences that do not come from source (including explicit
2505         dereferences resulting from rewriting implicit ones), but do not
2506         recursively insert a check for the dereference nodes contained within
2507         the check.
2508         (Insert_Dereference_Action): Clarify and correct comment.
2509
2510 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
2511
2512         PR ada/14131
2513         Move language detection to the top level.
2514         * config-lang.in: Build by default.
2515
2516 2004-03-05  Robert Dewar  <dewar@gnat.com>
2517
2518         * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
2519
2520         * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
2521         i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
2522         5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
2523         5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
2524         unchecked conversion to spec to avoid warnings.
2525
2526         * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
2527         to Task_ID
2528
2529         * 7stpopsp.adb: Correct casing in To_Task_ID call
2530
2531         * a-strsea.ads, a-strsea.adb: Minor reformatting
2532
2533         * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
2534
2535         * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
2536         Adjust Max_Msg_Length to be clearly large enough.
2537
2538         * fe.h: Define In_Same_Source_Unit
2539
2540         * osint.adb: Add pragma Warnings Off to suppress warnings
2541         * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
2542         aliasing warnings.
2543
2544         * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
2545
2546         * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
2547
2548         * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
2549
2550         * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
2551
2552         * sem_prag.adb: Implement pragma No_Strict_Aliasing.
2553
2554         * sinfo.ads: Remove obsolete comment on validate unchecked conversion
2555         node. We now do generate them for gcc back end.
2556
2557         * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
2558         warning.
2559
2560         * sinput-c.adb: Fix bad name in header.
2561         Add pragma Warnings Off to suppress aliasing warning.
2562
2563         * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
2564
2565         * snames.h, snames.ads, snames.adb: Add entry for pragma
2566         No_Strict_Aliasing.
2567
2568 2004-03-05  Vincent Celier  <celier@gnat.com>
2569
2570         * prj-com.ads: Add hash table Files_Htable to check when a file name
2571         is already a source of another project.
2572
2573         * prj-nmsc.adb (Record_Source): Before recording a new source, check
2574         if its file name is not already a source of another project. Report an
2575         error if it is.
2576
2577         * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
2578         source file name, call gnatpp with all the sources of the main project.
2579
2580         * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
2581         of file names.
2582
2583         * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
2584         NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
2585         /RUNTIME_SYSTEM=, converted to --RTS=
2586         /NOTABS, converted to -notabs
2587
2588 2004-03-05  Pascal Obry  <obry@gnat.com>
2589
2590         * make.adb: Minor reformatting.
2591
2592 2004-03-05  Ed Schonberg  <schonberg@gnat.com>
2593
2594         Part of implemention of AI-262.
2595         * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
2596
2597         * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
2598         procedure.
2599
2600         * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
2601         when component type is a partially constrained class-wide subtype.
2602         (Constrain_Discriminated_Type): If parent type has unknown
2603         discriminants, a constraint is illegal, even if full view has
2604         discriminants.
2605         (Build_Derived_Record_Type): Inherit discriminants when deriving a type
2606         with unknown discriminants whose full view is a discriminated record.
2607
2608         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
2609         flag, to handle properly derivations of tagged types with unknown
2610         discriminants.
2611         (Analyze_Package_Spec, Analyze_Package_Body): Install
2612         Private_With_Clauses before analyzing private part or body.
2613
2614         * einfo.ads: Indicate that both Has_Unknown_Discriminants and
2615         Has_Discriminants can be true for a given type (documentation).
2616
2617 2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
2618
2619         * s-restri.ads: Fix license (GPL->GMGPL).
2620
2621         * s-tassta.adb: Minor reformatting.
2622
2623         * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
2624         by calls to Exit_One_ATC_Level, since additional clean up is performed
2625         by this function.
2626
2627         * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
2628         by calls to Exit_One_ATC_Level, since additional clean up is performed
2629         by this function.
2630
2631 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2632
2633         * trans.c: Reflect GCC changes to fix bootstrap problem.
2634         Add warning for suspicious aliasing unchecked conversion.
2635
2636 2004-03-05  GNAT Script  <nobody@gnat.com>
2637
2638         * Make-lang.in: Makefile automatically updated
2639
2640 2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
2641
2642         * ali.adb (Read_Instantiation_Instance): Do not modify the
2643         current_file_num when reading information about instantiations, since
2644         this corrupts files in later references.
2645
2646 2004-03-02  Vincent Celier  <celier@gnat.com>
2647
2648         * bcheck.adb (Check_Consistency): Get the full path of an ALI file
2649         before checking if it is read-only.
2650
2651         * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
2652         of SRC_DIRS and eliminate duplicates.
2653
2654         * gprcmd.adb: Replace command "path" with command "path_sep" to return
2655         the path separator.
2656         (Usage): Document path_sep
2657
2658         * Makefile.generic: For Ada and GNU C++ cases, link directly with the
2659         C++ compiler. No need for a script.
2660         Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
2661         Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
2662         subst.
2663
2664         * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
2665         where there are Ada sources.
2666         (Set_Ada_Paths): Only add to the include path the source dirs of project
2667         with Ada sources.
2668         (Add_To_Path): Add the Display_Values of the directories, not their
2669         Values.
2670
2671         * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
2672         data.
2673
2674         * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
2675         is not No_Name.
2676         (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
2677         Value is canonicalized.
2678         (Language_Independent_Check): Do not copy Value to Display_Value when
2679         canonicalizing Value.
2680
2681         * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
2682         path to find limited with cycles.
2683         (Parse_Single_Project): Use canonical cased path to find the end of a
2684         with cycle.
2685
2686 2004-03-02  Ed Schonberg  <schonberg@gnat.com>
2687
2688         * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
2689         and not a child unit.
2690
2691         * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
2692         appear in a with_clause.
2693
2694         * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
2695         only happen in type_annotate mode, do not try to elaborate it.
2696
2697         * exp_util.adb (Force_Evaluation): If expression is a selected
2698         component on the left of an assignment, use a renaming rather than a
2699         temporary to remove side effects.
2700
2701         * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
2702         inlined instance body, which is analyzed before the end of the
2703         enclosing scope.
2704
2705 2004-03-02  Robert Dewar  <dewar@gnat.com>
2706
2707         * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
2708         sem_ch4.adb: Use new feature for substitution of keywords in VMS
2709
2710         * errout.ads, errout.adb: Implement new circuit for substitution of
2711         keywords in VMS.
2712
2713         * sem_case.adb (Analyze_Choices): Place message properly when case is
2714         a subtype reference rather than an explicit range.
2715
2716         * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
2717
2718 2004-03-02  Doug Rupp  <rupp@gnat.com>
2719
2720         * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
2721
2722 2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
2723
2724         * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
2725
2726 2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2727
2728         * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
2729         BLKmode bitfield.
2730
2731 2004-02-25  Robert Dewar  <dewar@gnat.com>
2732
2733         * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
2734         55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
2735         5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
2736         5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
2737         5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
2738         5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
2739         the defining instance of the type to avoid aliasing problems.
2740         Fix copyright header.  Fix bad comments in package header.
2741
2742         * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
2743
2744 2004-02-25  Ed Schonberg  <schonberg@gnat.com>
2745
2746         * exp_ch2.adb (Param_Entity): Handle properly formals that have been
2747         rewritten as references when aliased through an address clause.
2748
2749         * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
2750         whether call can be interpreted as an indirect call to the result of a
2751         parameterless function call returning an access subprogram.
2752
2753 2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
2754
2755         Code clean up:
2756         * exp_ch7.adb (Make_Clean): Remove generation of calls to
2757         Unlock[_Entries], since this is now done by Service_Entries directly.
2758
2759         * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
2760
2761         * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
2762         Requeue_Call for better code readability. Change spec and update calls:
2763         PO_Service_Entries now unlock the PO on exit.
2764         (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
2765         PO_Service_Entries.
2766
2767         * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
2768
2769         * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
2770
2771 2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
2772
2773         * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
2774         protected subprogram call and analyzing the result of such expanding
2775         in case when the called protected subprogram is eliminated.
2776
2777         * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
2778         names.
2779
2780 2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
2781
2782         * Makefile.in: Clean ups.
2783
2784 2004-02-23  Ed Schonberg  <schonberg@gnat.com>
2785
2786         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
2787         protected operations if original subprogram is flagged as eliminated.
2788         (Expand_N_Subprogram_Body): For a protected operation, create
2789         discriminals for next operation before checking whether the operation
2790         is eliminated.
2791
2792         * exp_ch9.adb (Expand_N_Protected_Body,
2793         Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
2794         for internal protected operations if the original subprogram is
2795         eliminated.
2796
2797         * sem_elim.adb (Check_Eliminated): Handle properly protected operations
2798         declared in a single protected object.
2799
2800 2004-02-23  Vincent Celier  <celier@gnat.com>
2801
2802         * prj-attr.adb: Make attribute Builder'Executable an associative array,
2803         case insensitive if file names are case insensitive, instead of a
2804         standard associative array.
2805
2806         * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
2807         them as case insensitive on platforms where the file names are case
2808         sensitive.
2809
2810         * prj-part.adb (Parse_Single_Project): Make sure, when checking if
2811         project file has already been parsed that canonical path are compared.
2812
2813 2004-02-23  Robert Dewar  <dewar@gnat.com>
2814
2815         * sinput-c.ads: Correct bad unit title in header
2816
2817         * freeze.adb: Minor reformatting
2818
2819 2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2820
2821         * trans.c (tree_transform, case N_Procedure_Call_Statement): For
2822         nonaddressable COMPONENT_REF that is removing padding that we are
2823         taking the address of, take the address of the padded record instead
2824         if item is variable size.
2825
2826 2004-02-20  Robert Dewar  <dewar@gnat.com>
2827
2828         * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
2829
2830 2004-02-20  Ed Schonberg  <schonberg@gnat.com>
2831
2832         * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
2833         itype references for the constrained designated type of a component
2834         whose base type is already frozen.
2835
2836 2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
2837
2838         * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
2839         avoid GCC warnings.
2840
2841 2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
2842
2843         * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
2844         identifier for a phantom package that rewrites the formal package
2845         declaration with a box. The Add semantic decorations for the defining
2846         identifier from the original node (that represents the formal package).
2847
2848 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
2849
2850         * Make-lang.in (ada/stamp-sdefault): Use the top level
2851         move-if-change.
2852
2853 2004-02-19  Richard Henderson  <rth@redhat.com>
2854
2855         * misc.c (record_code_position): Add third build arg for RTL_EXPR.
2856
2857 2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
2858
2859         * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
2860         Scan_ALI can be used for multiple ALI files without reinitializing
2861         between calls.
2862
2863 2004-02-18  Robert Dewar  <dewar@gnat.com>
2864
2865         * debug.adb: Minor reformatting.
2866
2867 2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2868
2869         * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
2870         to zero if there is an address clause.
2871
2872 2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
2873
2874         * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
2875
2876 2004-02-18  Gary Dismukes  <dismukes@gnat.com>
2877
2878         * layout.adb (Layout_Component_List): Revise generation of call to
2879         discriminant-checking function to pass selections of all of the type's
2880         discriminants rather than just the variant-controlling discriminant.
2881
2882 2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
2883
2884         * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
2885         fail in the current setup and triggers spurious system error messages.
2886         Pretend it occurred and failed instead.
2887
2888 2004-02-18  Vincent Celier  <celier@gnat.com>
2889
2890         * bld.adb: Mark FLDFLAGS as saved
2891         (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
2892         it is not the root project.  Put each directory to be
2893         extended between double quotes to prevent it to be expanded on Windows.
2894         (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
2895         the project file. Set them back to their initial values if they have not
2896         been set in the project file.
2897
2898         * gprcmd.adb: (Gprdebug, Debug): New global variables
2899         (Display_Command): New procedure
2900         (Usage): Document new command "linkopts"
2901         Call Display_Command when env var GPRDEBUG has the value "TRUE"
2902         Implement new command "linkopts"
2903         Remove quotes that may be around arguments for "extend"
2904         Always call Normalize_Pathname with arguments formatted for the platform
2905
2906         * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
2907         Change @echo to @$(display) in target clean to be able to clean silently
2908
2909         * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
2910
2911         * prj-part.adb (Project_Path_Name_Of): Do not put final result in
2912         canonical case.
2913
2914         * prj-part.adb (Parse_Single_Project): Always call with From_Extended
2915         = Extending_All when current project is an extending all project.
2916
2917         * vms_conv.adb (Output_File_Expected): New Boolean global variable,
2918         set to True only for LINK command, after Unix switch -o.
2919         (Process_Arguments): Set Output_File_Expected to True for LINK command
2920         after Unix switch -o. When Output_File_Expected is True, never add an
2921         extension to a file name.
2922
2923         * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
2924         option file name, only to the --for-linker= switch.
2925         (Option_File_Name): If option file name do not end with ".opt", append
2926         "/OPTIONS".
2927
2928 2004-02-18  GNAT Script  <nobody@gnat.com>
2929
2930         * Make-lang.in: Makefile automatically updated
2931
2932 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
2933
2934         * Make-lang.in (stamp-sdefault): Do not depend on
2935         move-if-change.
2936
2937 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
2938
2939         * config-lang.in: Disable Ada by default until probe logic for
2940         a bootstrap Ada compiler can be moved to the top level configure
2941         script.
2942
2943 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
2944
2945         * decl.c (components_to_record): Don't claim that the internal fields
2946         we make to hold the variant parts are semantically addressable, because
2947         they are not.
2948
2949         * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
2950         adjust the comment describing the modular type form when we can use it.
2951         (Install_PAT): Account for the Esiz renaming.
2952
2953         * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
2954         sc_onstack context indication before raising the exception to which
2955         the signal is mapped. Allows better handling of later signals possibly
2956         triggered by the resumed user code if the exception is handled.
2957
2958 2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
2959
2960         * 5zinit.adb: Removed, no longer used.
2961
2962 2004-02-12  Robert Dewar  <dewar@gnat.com>
2963
2964         * ali.adb: Remove separating space between parameters on R line. Makes
2965         format consistent with format used by the binder for Set_Globals call.
2966
2967         * atree.ads, atree.adb: Minor reformatting (new function header format)
2968
2969         * bindgen.adb: Add Run-Time Globals documentation section containing
2970         detailed documentation of the globals passed from the binder file to
2971         the run time.
2972
2973         * gnatls.adb: Minor reformatting
2974
2975         * init.c (__gnat_set_globals): Add note pointing to documentation in
2976         bindgen.
2977
2978         * lib-writ.ads, lib-writ.adb: Remove separating space between
2979         parameters on R line.
2980         Makes format consistent with format used by the binder for Set_Globals
2981         call.
2982
2983         * osint.ads: Add 2004 to copyright notice
2984         Minor reformatting
2985
2986         * snames.ads: Correct capitalization of FIFO_Within_Priorities
2987         Noticed during code reading, documentation issue only
2988
2989         * usage.adb: Remove junk line for obsolete C switch
2990         Noticed during code reading
2991
2992 2004-02-12  Vincent Celier  <celier@gnat.com>
2993
2994         * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
2995         extend for each directory, so that multiple /** directories are
2996         extended individually.
2997         (Recursive_Process): Set the default for LANGUAGES to ada
2998
2999         * gprcmd.adb: Define new command "ignore", to do nothing.
3000         Implement new comment "path".
3001
3002         * Makefile.generic: Suppress output when SILENT is set
3003         Make sure that when compiler for C/C++ is gcc, the correct -x switch is
3004         used, so that the correct compiler is invoked.
3005         When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
3006         CXX_INCLUDE_PATH, to avoid failure with too long command lines.
3007
3008 2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
3009
3010         * Makefile.in: Clean ups and remove obsolete targets.
3011
3012 2004-02-12  Ed Schonberg  <schonberg@gnat.com>
3013
3014         * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
3015         predicate declared in exp_util.
3016
3017         * exp_util.adb: Add comments.
3018
3019         * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
3020         visibility before compiling context of the subunit.
3021
3022         * sem_res.adb (Check_Parameterless_Call): If the context expects a
3023         value but the name is a procedure, do not attempt to analyze as a call,
3024         in order to obtain more telling diagnostics.
3025
3026         * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
3027         'Access on parameterless function calls.
3028         (Normalize_Actuals): For a parameterless function call with missing
3029         actuals, defer diagnostic until resolution of enclosing call.
3030
3031         * sem_util.adb (Wrong_Type): If the context type is an access to
3032         subprogram and the expression is a procedure name, suggest a missing
3033         'attribute.
3034
3035 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
3036             Nathanael Nerode  <neroden@gcc.gnu.org>
3037
3038         PR ada/6637, PR ada/5911
3039         Merge with libada-branch:
3040         * config-lang.in: Build libada only when ada is built.
3041
3042 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
3043
3044         * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
3045         for a tagged type, verify that both formals have the same type.
3046
3047         * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
3048         temporary when the formal is an in-parameter and the actual a possibly
3049         unaligned slice.
3050
3051         * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
3052         when expansion is disabled, to ensure proper name capture with
3053         overloaded literals.  Condition can be of any boolean type, resolve
3054         accordingly.
3055
3056         * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
3057         renaming is for a formal subprogram with a default operator name, and
3058         there is a usable operator that is visible at the point of
3059         instantiation.
3060
3061 2004-02-09  Robert Dewar  <dewar@gnat.com>
3062
3063         * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
3064         rewrite to ignore errors in ali files, intended to allow tools downward
3065         compatibility with new versions of ali files.
3066
3067         * ali.ads: Add new parameter Ignore_Errors
3068
3069         * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
3070         duplicating the error message giving the file with restrictions.
3071
3072         * debug.adb: Add debug flag I for gnatbind
3073
3074         * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
3075         operators for the case where the operator is a defining operator.
3076
3077         * exp_ch3.adb: Minor reformatting (new function spec format).
3078
3079         * exp_ch4.adb: Add comment for previous change, and make minor
3080         adjustment to loop to always check for improper loop termination.
3081         Minor reformatting throughout (new function spec format).
3082
3083         * gnatbind.adb: Implement -di debug flag for gnatbind
3084
3085         * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
3086
3087         * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
3088
3089         * lib-load.adb: Fix bad assertion.
3090         Found by testing and code reading.
3091         Minor reformatting.
3092
3093         * lib-load.ads: Minor reformatting.
3094
3095         * lib-writ.adb: There is only one R line now.
3096
3097         * lib-writ.ads: Add documentation on making downward compatible changes
3098         to ali files so old tools work with new ali files.
3099         There is only one R line now.
3100         Add documentation on format incompatibilities (with special GPS note)
3101
3102         * namet.ads, namet.adb: (Is_Operator_Name): New procedure
3103
3104         * par-load.adb: Minor reformatting
3105
3106         * sem_ch8.adb: Fix to error message from last update
3107         Minor reformatting and restructuring of code from last update
3108
3109         * par-prag.adb, snames.adb, snames.ads, snames.h,
3110         sem_prag.adb: Implement pragma Profile.
3111
3112         * stylesw.adb: Implement -gnatyN switch to turn off all style check
3113         options.
3114
3115         * usage.adb: Add line for -gnatyN switch
3116
3117         * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
3118
3119 2004-02-09  Albert Lee  <lee@gnat.com>
3120
3121         * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
3122
3123 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
3124
3125         * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
3126         slices.
3127
3128         * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
3129         is nested in an instance that is not frozen yet, to avoid
3130         order-of-elaboration problems in gigi.
3131
3132         * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
3133         body the attribute is legal.
3134
3135 2004-02-09  Robert Dewar  <dewar@gnat.com>
3136
3137         * s-rident.ads: Minor comment correction
3138
3139         * targparm.adb: Remove dependence on uintp completely. There was
3140         always a bug in Make in that it called Targparm before initializing
3141         the Uint package. The old code appeared to get away with this, but
3142         the new code did not! This caused an assertion error in gnatmake.
3143
3144         * targparm.ads: Fix bad comment, restriction pragmas with parameters
3145         are indeed fully supported.
3146
3147 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
3148
3149         * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
3150
3151 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
3152
3153         * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
3154         with targetm.calls.promote_prototypes.
3155
3156 2004-02-04  Robert Dewar  <dewar@gnat.com>
3157
3158         * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
3159         ali.ads, gprcmd.adb: Minor reformatting
3160
3161         * bindgen.adb: Output restrictions string for new style restrictions
3162         handling
3163
3164         * impunit.adb: Add s-rident.ads (System.Rident) and
3165         s-restri (System.Restrictions)
3166
3167         * lib-writ.adb: Fix bug in writing restrictions string (last few
3168         entries wrong)
3169
3170         * s-restri.ads, s-restri.adb: Change name Restrictions to
3171         Run_Time_Restrictions to avoid conflict with package name.
3172         Add circuit to read and acquire run time restrictions.
3173
3174 2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
3175
3176         * restrict.ads, restrict.adb: Use the new restriction
3177         No_Task_Attributes_Package instead of the old No_Task_Attributes.
3178
3179         * sem_prag.adb: No_Task_Attributes is a synonym of
3180         No_Task_Attributes_Package.
3181
3182         * snames.ads, snames.adb: New entry for proper handling of
3183         No_Task_Attributes.
3184
3185         * s-rident.ads: Adding restriction No_Task_Attributes_Package
3186         (AI-00249) that supersedes the GNAT specific restriction
3187         No_Task_Attributes.
3188
3189 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
3190
3191         * sem_prag.adb:
3192         (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
3193          body, an identifier may be wrapped in an unchecked conversion.
3194
3195 2004-02-04  Vincent Celier  <celier@gnat.com>
3196
3197         * lib-writ.ads: Comment update for the W lines
3198
3199         * bld.adb: (Expression): An empty string list is static
3200
3201         * fname-uf.adb: Minor comment update
3202
3203         * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
3204
3205         * gnatbind.adb: Initialize Cumulative_Restrictions with the
3206         restrictions on the target.
3207
3208 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
3209
3210         * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
3211         gen_rtx.
3212
3213 2004-02-02  Arnaud Charlet  <charlet@gnat.com>
3214
3215         * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
3216
3217 2004-02-02  Vincent Celier  <celier@gnat.com>
3218
3219         * gprcmd.adb (Check_Args): If condition is false, print the invoked
3220         comment before the usage.
3221         Gprcmd: Fail when command is not recognized.
3222         (Usage): Document command "prefix"
3223
3224         * g-md5.adb (Digest): Process last block.
3225         (Update): Do not process last block. Store remaining characters and
3226         length in Context.
3227
3228         * g-md5.ads (Update): Document that several call to update are
3229         equivalent to one call with the concatenated string.
3230         (Context): Add fields to allow new Update behaviour.
3231
3232         * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
3233         defaulted to False.
3234         When May_Fail is True and no existing file can be found, return No_File.
3235
3236         * 6vcstrea.adb: Inlined functions are now wrappers to implementation
3237         functions.
3238
3239         * lib-writ.adb (Write_With_Lines): When body file does not exist, use
3240         spec file name instead on the W line.
3241
3242 2004-02-02  Robert Dewar  <dewar@gnat.com>
3243
3244         * ali.adb: Read and acquire info from new format restrictions lines
3245
3246         * bcheck.adb: Add circuits for checking restrictions with parameters
3247
3248         * bindgen.adb: Output dummy restrictions data
3249         To be changed later
3250
3251         * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
3252         exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
3253         freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
3254         sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
3255         sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
3256
3257         * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
3258         the warning message on access to possibly uninitialized variable S)
3259         Minor changes for new restrictions handling.
3260
3261         * gnatbind.adb: Minor reformatting
3262         Minor changes for new restrictions handling
3263         Move circuit for -r processing here from bcheck (cleaner)
3264
3265         * gnatcmd.adb, gnatlink.adb: Minor reformatting
3266
3267         * lib-writ.adb: Output new format restrictions lines
3268
3269         * lib-writ.ads: Document new R format lines for new restrictions
3270         handling.
3271
3272         * s-restri.ads/adb: New files
3273
3274         * Makefile.rtl: Add entry for s-restri.ads/adb
3275
3276         * par-ch3.adb: Fix bad error messages starting with upper case letter
3277         Minor reformatting
3278
3279         * restrict.adb: Major rewrite throughout for new restrictions handling
3280         Major point is to handle restrictions with parameters
3281
3282         * restrict.ads: Major changes in interface to handle restrictions with
3283         parameters. Also generally simplifies setting of restrictions.
3284
3285         * snames.ads/adb: New entry for proper handling of No_Requeue
3286
3287         * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
3288         restriction counting.
3289         Other minor changes for new restrictions handling
3290
3291         * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
3292         Restriction_Warnings now allows full parameter notation
3293         Major rewrite of Restrictions for new restrictions handling
3294
3295 2004-02-02  Javier Miranda  <miranda@gnat.com>
3296
3297         * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
3298         syntax rule for object renaming declarations.
3299         (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
3300         component definitions.
3301
3302         * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
3303         components.
3304         (Array_Type_Declaration): Give support to access components. In addition
3305         it was also modified to reflect the name of the object in anonymous
3306         array types. The old code did not take into account that it is possible
3307         to have an unconstrained anonymous array with an initial value.
3308         (Check_Or_Process_Discriminants): Allow access discriminant in
3309         non-limited types.
3310         (Process_Discriminants): Allow access discriminant in non-limited types
3311         Initialize the new Access_Definition field in N_Object_Renaming_Decl
3312         node.  Change Ada0Y to Ada 0Y in comments
3313
3314         * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
3315         equality operators.
3316         Change Ada0Y to Ada 0Y in comments
3317
3318         * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
3319         renamings Change Ada0Y to Ada 0Y in comments
3320
3321         * sem_type.adb (Find_Unique_Type): Give support to the equality
3322         operators for universal access types
3323         Change Ada0Y to Ada 0Y in comments
3324
3325         * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
3326
3327         * sinfo.ads (N_Component_Definition): Addition of Access_Definition
3328         field.
3329         (N_Object_Renaming_Declaration): Addition of Access_Definition field
3330         Change Ada0Y to Ada 0Y in comments
3331
3332         * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
3333         component definition and object renaming nodes
3334         Change Ada0Y to Ada 0Y in comments
3335
3336 2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
3337
3338         * restrict.adb: Use the new restriction identifier
3339         No_Requeue_Statements instead of the old No_Requeue for defining the
3340         restricted profile.
3341
3342         * sem_ch9.adb (Analyze_Requeue): Check the new restriction
3343         No_Requeue_Statements.
3344
3345         * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
3346         that supersedes the GNAT specific restriction No_Requeue. The later is
3347         kept for backward compatibility.
3348
3349 2004-02-02  Ed Schonberg  <schonberg@gnat.com>
3350
3351         * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
3352         5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
3353         pragma and fix incorrect ones.
3354
3355         * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
3356         warning if the pragma is redundant.
3357
3358 2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
3359
3360         * 5staprop.adb: Add missing 'constant' keywords.
3361
3362         * Makefile.in: use consistent value for SYMLIB on
3363         platforms where libaddr2line is supported.
3364
3365 2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3366
3367         * utils.c (end_subprog_body): Do not call rest_of_compilation if just
3368         annotating types.
3369
3370 2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
3371
3372         * init.c (__gnat_install_handler): Setup an alternate stack for signal
3373         handlers in the environment thread. This allows proper propagation of
3374         an exception on stack overflows in this thread even when the builtin
3375         ABI stack-checking scheme is used without support for a stack reserve
3376         region.
3377
3378         * utils.c (create_field_decl): Augment the head comment about bitfield
3379         creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
3380         here, because the former is not accurate enough at this point.
3381         Let finish_record_type decide instead.
3382         Don't make a bitfield if the field is to be addressable.
3383         Always set a size for the field if the record is packed, to ensure the
3384         checks for bitfield creation are triggered.
3385         (finish_record_type): During last pass over the fields, clear
3386         DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
3387         not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
3388         from DECL_BIT_FIELD.
3389
3390 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
3391
3392         * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
3393         (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
3394         (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
3395
3396 2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3397
3398         * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
3399
3400         * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
3401         (ZCX_By_Default): Likewise.
3402         (Front_End_ZCX_Support): Likewise.
3403
3404         * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
3405         (Initialize_Lock): Mark Level unreferenced.
3406         (Sleep): Mark Reason unreferenced.
3407         (Timed_Sleep): Likewise.
3408         (Wakeup): Likewise.
3409         (Exit_Task): Use Result.
3410         (Check_No_Locks): Mark Self_ID unreferenced.
3411
3412         * 5gtasinf.adb (New_Sproc): Make Attr constant.
3413         (Bound_Thread_Attributes): Make Sproc constant.
3414         (New_Bound_Thread_Attributes): Likewise.
3415
3416 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
3417
3418         * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
3419         one-dimensional array an slice assignments, when component type is
3420         controlled.
3421
3422         * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
3423         component type is controlled, and control_actions are in effect, use
3424         TSS procedure rather than generating inline code.
3425
3426         * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
3427         arrays with controlled components.
3428
3429 2004-01-26  Vincent Celier  <celier@gnat.com>
3430
3431         * gnatcmd.adb (GNATCmd): Add specification of argument file on the
3432         command line for the non VMS case.
3433
3434         * gnatlink.adb (Process_Binder_File): When building object file, if
3435         GNU linker is used, put all object paths between quotes, to prevent ld
3436         error when there are unusual characters (such as '!') in the paths.
3437
3438         * Makefile.generic: When there are sources in Ada and the main is in
3439         C/C++, invoke gnatmake with -B, instead of -z.
3440
3441         * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
3442         from VMS_Conversion.
3443         (Process_Argument): New procedure, extracted from VMS_Conversion. Add
3444         specification of argument file on the command line.
3445
3446 2004-01-26  Bernard Banner  <banner@gnat.com>
3447
3448         * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
3449
3450 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
3451
3452         * snames.adb: Update copyright notice.
3453         Add info on slice assignment for controlled arrays.
3454
3455 2004-01-23  Robert Dewar  <dewar@gnat.com>
3456
3457         * exp_aggr.adb: Minor reformatting
3458
3459         * exp_ch9.adb: Minor code clean up
3460         Minor reformatting
3461         Fix bad character in comment
3462
3463         PR ada/13471
3464         * targparm.adb (Get_Target_Parameters): Give clean abort error on
3465         unexpected end of file, along with more detailed message.
3466
3467 2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3468
3469         * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
3470         PAT.
3471
3472         * decl.c (copy_alias_set): New function.
3473         (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
3474
3475 2004-01-23  Doug Rupp  <rupp@gnat.com>
3476
3477         * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
3478         lib$${file} in case subsequent character is not a separator.
3479
3480 2004-01-23  Vincent Celier  <celier@gnat.com>
3481
3482         * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
3483         when the GCC version is at least 3.
3484
3485         * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
3486         Remove all "Opt.", to prepare for opt split
3487
3488         * prj-part.adb (Parse_Single_Project): New Boolean out parameter
3489         Extends_All. Set to True when the project parsed is an extending all
3490         project. Fails for importing an extending all project only when the
3491         imported project is an extending all project.
3492         (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
3493         depending on the value of Extends_All returned.
3494
3495         * prj-proc.adb (Process): Check that no project shares its object
3496         directory with a project that extends it, directly or indirectly,
3497         including a virtual project.
3498         Check that no project extended by another project shares its object
3499         directory with another also extended project.
3500
3501         * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
3502         Kind = N_With_Clause
3503
3504         * prj-tree.ads: Minor reformatting
3505         Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
3506
3507 2004-01-23  Ed Schonberg  <schonberg@gnat.com>
3508
3509         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
3510         applies to a type with an incomplete view, use full view in Name of
3511         clause, for consistency with uses of Get_Attribute_Definition_Clause.
3512
3513 2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
3514
3515         * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
3516         SCHED_RR, since other values are not supported by this policy.
3517         (Initialize): Move initialization of mutex attribute to package
3518         elaboration, to prevent early access to this variable.
3519
3520         * Makefile.in: Remove mention of Makefile.adalib, unused.
3521
3522         * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
3523         1ssecsta.ads: Removed, unused.
3524
3525 2004-01-21  Javier Miranda  <miranda@gnat.com>
3526
3527         * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
3528         entity if already built in the current scope.
3529
3530         * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
3531         reminder in internal scopes. Required for nested limited aggregates.
3532
3533 2004-01-21  Doug Rupp  <rupp@gnat.com>
3534
3535         * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
3536         VMS. Replace all occurences of libgnat- and libgnarl- with
3537         libgnat$(hyphen) and libgnarl$(hyphen).
3538         Fixed shared library build problem on VMS.
3539
3540 2004-01-21  Robert Dewar  <dewar@gnat.com>
3541
3542         * mlib-prj.adb: Minor reformatting
3543
3544 2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
3545
3546         * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
3547         'constant' keywords for declaration of pointers that are not modified.
3548
3549         * exp_pakd.adb: Fix English in comment.
3550
3551 2004-01-21  Ed Schonberg  <schonberg@gnat.com>
3552
3553         PR ada/10889
3554         * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
3555         copy all attributes of the parent, including the foreign language
3556         convention.
3557
3558 2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
3559
3560         PR ada/10565
3561         * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
3562         for 'delay until' statement.
3563
3564 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
3565
3566         * Make-lang.in: Replace $(docdir) with doc.
3567         (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
3568         doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
3569         to use consistent MAKEINFO rule.
3570         (ada.man, ada.srcman): Dummy entry.
3571         (ADA_INFOFILES): Define.
3572         (ada.info, ada.srcinfo): New rules.
3573
3574 2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
3575
3576         * utils.c: Update copyright notice, missed in previous change.
3577
3578 2004-01-19  Vincent Celier  <celier@gnat.com>
3579
3580         * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
3581         args if Bind is True. Set First_ALI, if not already done.
3582         (Build_Library): For Stand Alone Libraries, extract from one ALI file
3583         an eventual --RTS switch, for gnatbind, and all backend switches +
3584         --RTS, for linking.
3585
3586 2004-01-19  Robert Dewar  <dewar@gnat.com>
3587
3588         * sem_attr.adb, memtrack.adb: Minor reformatting
3589
3590 2004-01-19  Ed Schonberg  <schonberg@gnat.com>
3591
3592         * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
3593         that rename enumeration literals. This is properly done in sem_eval.
3594
3595         * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
3596         to functions that rename enumeration literals.
3597
3598         * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
3599         functions that rename enumeration literals.
3600
3601 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
3602
3603         * Make-lang.in (utils.o): Depend on target.h.
3604         * utils.c: Include target.h.
3605         (process_attributes): Use targetm.have_named_sections instead
3606         of ASM_OUTPUT_SECTION_NAME.
3607
3608 2004-01-16  Andreas Jaeger  <aj@suse.de>
3609
3610         * Makefile.in: Add $(DESTDIR).
3611
3612 2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
3613
3614         * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
3615         also when not defining if a Size clause applies. That information is
3616         not to be ignored.
3617
3618 2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
3619
3620         * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
3621         symbolic links for the shared gnat run time when needed.
3622
3623 2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
3624
3625         * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
3626         for writing, and terminate with an error message if not.
3627
3628 2004-01-15  Ed Schonberg  <schonberg@gnat.com>
3629
3630         * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
3631         warning on an access to subprogram in an instance, when the target
3632         type is declared in the same generic unit.
3633         (Eval_Attribute): If 'access is known to fail accessibility check,
3634         rewrite as a raise statement.
3635
3636 2004-01-15  GNAT Script  <nobody@gnat.com>
3637
3638         * Make-lang.in: Makefile automatically updated
3639
3640 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
3641
3642         * Make-lang.in (ada.srcextra): Dummy entry.
3643
3644 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
3645
3646         * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
3647
3648 2004-01-13  Ed Schonberg  <schonberg@gnat.com>
3649
3650         * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
3651         components that are initialized with aggregates.
3652
3653 2004-01-13  Vincent Celier  <celier@gnat.com>
3654
3655         * gnatlink.adb (Process_Binder_File): To find directory of shared
3656         libgcc, if "gcc-lib" is not a subdirectory, look for the last
3657         subdirectory "lib" in the path of the shared libgnat or libgnarl.
3658
3659         * make.adb (Gnatmake): If GCC version is at least 3, link with
3660         -shared-libgcc, when there is at least one shared library project.
3661
3662         * opt.ads (GCC_Version): New integer constant.
3663
3664         * adaint.c (get_gcc_version): New function.
3665
3666 2004-01-13  Robert Dewar  <dewar@gnat.com>
3667
3668         * sem_dist.adb, sem_res.adb, sem_util.adb,
3669         sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
3670         exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
3671
3672 2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
3673
3674         * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
3675         g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
3676         declarations.
3677
3678 2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
3679
3680         * misc.c: Remove trailing spaces.
3681         Update copyright notice missed in previous change.
3682
3683         PR ada/13572
3684         * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
3685         prefix/share/make
3686
3687         * Makefile.generic: Update copyright.
3688         Add license notice.
3689
3690         * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
3691         of prefix/share/make.
3692
3693         * Makefile.prolog: Update copyright.
3694         Add license notice.
3695
3696 2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
3697
3698         * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
3699         3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
3700         g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
3701         instead of String.
3702
3703         * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
3704         signature.
3705
3706 2004-01-12  Javier Miranda  <miranda@gnat.com>
3707
3708         * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
3709         exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
3710         sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
3711         sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
3712         Component_Definition node.
3713
3714 2004-01-12  Ed Falis  <falis@gnat.com>
3715
3716         * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
3717
3718 2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
3719
3720         * link.c: Change default libgnat kind to STATIC for FreeBSD.
3721
3722 2004-01-12  Bernard Banner  <banner@gnat.com>
3723
3724         * Makefile.in: map 86numaux to a-numaux for x86_64
3725
3726 2004-01-12  Ed Schonberg  <schonberg@gnat.com>
3727
3728         * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
3729         generated to rename a generic actual, go to the actual itself, the
3730         subtype is not a user-visible entity.
3731
3732         * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
3733         part is a private subtype, reset the visibility of its full view, if
3734         any, to be consistent.
3735
3736         PR ada/13417
3737         * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
3738         to use a generic package G as a formal package for another generic
3739         declared within G.
3740
3741 2004-01-12  Robert Dewar  <dewar@gnat.com>
3742
3743         * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
3744
3745         * usage.adb: Remove mention of obsolete -gnatwb switch
3746         Noticed during code reading
3747
3748 2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
3749
3750         * 1ssecsta.adb: Minor changes for -gnatwa warnings
3751
3752 2004-01-12  GNAT Script  <nobody@gnat.com>
3753
3754         * Make-lang.in: Makefile automatically updated
3755
3756 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
3757
3758         * misc.c (gnat_expand_expr): Add alt_rtl parameter.
3759
3760 2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3761
3762         * link.c [sgi] (shared_libgnat_default): Change to STATIC.
3763
3764 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
3765
3766         * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
3767         Update comment and copyright date.
3768         * stamp-xgnatug: Delete.
3769
3770 2004-01-05  Robert Dewar  <dewar@gnat.com>
3771
3772         * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
3773         be modified by the binder generated main program if the -D switch is
3774         used.
3775
3776         * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
3777         imported functions (since now we expect this to be done for imported
3778         functions)
3779
3780         * 5vtaprop.adb: Add several ??? for sections requiring more comments
3781         Minor reformatting throughout
3782
3783         * 5zinit.adb: Minor reformatting
3784         Add 2004 to copyright date
3785         Minor changes to avoid -gnatwa warnings
3786         Correct some instances of using OR instead of OR ELSE (noted while
3787         doing reformatting)
3788
3789         * sprint.adb: Minor updates to avoid -gnatwa warnings
3790
3791         * s-secsta.ads, s-secsta.adb:
3792         (SS_Get_Max): New function to obtain high water mark for ss stack
3793         Default_Secondary_Stack is not a constant since it may be modified by
3794         the binder generated main program if the -D switch is used.
3795
3796         * switch-b.adb: New -Dnnn switch for binder
3797
3798         * switch-c.adb:
3799         Make -gnatg imply all warnings currently in -gnatwa
3800
3801         * vms_conv.adb: Minor reformatting
3802         Add 2004 to copyright notice
3803         Add 2004 to printed copyright notice
3804
3805         * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
3806         3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
3807         5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
3808         5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
3809         5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
3810         5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
3811         5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
3812         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
3813         5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
3814         5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
3815         6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
3816         vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
3817         xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
3818         sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
3819         checks.adb, clean.adb, cstand.adb, einfo.ads,
3820         einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
3821         exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
3822         prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
3823         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
3824         g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
3825         lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
3826         Minor reformatting and code clean ups.
3827         Minor changes to prevent -gnatwa warnings
3828
3829         * ali.adb: Minor reformatting and cleanup of code
3830         Acquire new SS indication of secondary stack use from ali files
3831
3832         * a-numaux.ads: Add Pure_Function pragmas for all imported functions
3833         (since now we expect this to be done for imported functions)
3834
3835         * bindgen.adb: Generate call to modify default secondary stack size if
3836         -Dnnn switch given
3837
3838         * bindusg.adb: Add line for new -D switch
3839
3840         * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
3841         replacement name for Type_May_Have_Non_Bit_Aligned_Components!
3842         Add circuitry for both records and arrays to avoid gigi
3843         processing if the type involved has non-bit-aligned components
3844
3845         * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
3846         N_String_Literal node always references an E_String_Literal_Subtype
3847         entity. This may not be true in the future.
3848         (Possible_Bit_Aligned_Component): Move processing of
3849         Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
3850
3851         * exp_ch6.adb (Expand_Thread_Body): Pick up
3852         Default_Secondary_Stack_Size as variable so that we get value modified
3853         by possible -Dnnn binder parameter.
3854
3855         * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
3856         (Type_May_Have_Bit_Aligned_Components): New function.
3857
3858         * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
3859         (Type_May_Have_Bit_Aligned_Components): New function.
3860
3861         * fe.h: (Set_Identifier_Casing): Fix prototype.
3862         Add declaration for Sem_Elim.Eliminate_Error_Msg.
3863         Minor reformatting.
3864
3865         * freeze.adb (Freeze_Entity): Add RM reference to error message about
3866         importing constant atomic/volatile objects.
3867         (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
3868         unless explicit Pure_Function pragma given, to avoid insidious bug of
3869         call to non-pure imported function getting eliminated.
3870
3871         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
3872         gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
3873         gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
3874         Add 2004 to printed copyright notice
3875
3876         * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
3877         stack used.
3878
3879         * Makefile.rtl: Add entry for g-sestin.o
3880         g-sestin.ads: New file.
3881
3882         * mdll.adb: Minor changes to avoid -gnatwa warnings
3883
3884         * mlib-tgt.adb: Minor reformatting
3885
3886         * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
3887         New switch Sec_Stack_Used (GNAT, GNATBIND)
3888         Make Default_Secondary_Stack_Size a variable instead of a constant,
3889         so that it can be modified by the new -Dnnn bind switch.
3890
3891         * rtsfind.adb (Load_Fail): Give full error message in configurable
3892         run-time mode if all_errors mode is set. This was not done in the case
3893         of a file not found, which was an oversight.
3894         Note if secondary stack unit is used by compiler.
3895
3896         * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
3897         ineffective elaborate all pragmas on non-visible packages (this
3898         happened when a renamed subprogram was called). Now the elaborate all
3899         always goes on the package containing the renaming rather than the one
3900         containing the renamed subprogram.
3901
3902         * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
3903         (Process_Eliminate_Pragma): Add parameter to capture pragma location.
3904
3905         * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
3906         has an Etype that references an E_String_Literal.
3907         (Eval_String_Literal): Avoid assumption that N_String_Literal node
3908         always references an E_String_Literal_Subtype entity. This may not
3909         be true in the future.
3910
3911         * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
3912         pragma location.
3913
3914         * sem_res.adb (Resolve): Specialize msg for function name used in proc
3915         call.
3916
3917 2004-01-05  Ed Falis  <falis@gnat.com>
3918
3919         * g-debuti.adb: Replaced direct boolean operator with short-circuit
3920         form.
3921
3922 2004-01-05  Vincent Celier  <celier@gnat.com>
3923
3924         * bld.adb: Minor comment updates
3925         (Process_Declarative_Items): Correct incorrect name (Index_Name instead
3926         of Item_Name).
3927
3928         * make.adb (Gnatmake): Special process for files to compile/check when
3929         -B is specified. Fail when there are only foreign mains in attribute
3930         Main of the project file and -B is not specified. Do not skip bind/link
3931         steps when -B is specified.
3932
3933         * makeusg.adb: Document new switch -B
3934
3935         * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
3936
3937         * switch-m.adb: (Scan_Make_Switches): Process -B switch
3938
3939         * vms_data.ads: Add new GNAT PRETTY qualifier
3940         /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
3941
3942 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3943
3944         * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
3945         case.
3946
3947         * misc.c (gnat_printable_name): If VERBOSITY is 2, call
3948         Set_Identifier_Casing.
3949
3950         * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
3951         has size that overflows.
3952
3953 2004-01-05  Gary Dismukes  <dismukes@gnat.com>
3954
3955         * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
3956         -gnatwa warning on static condition.
3957
3958 2004-01-05  Doug Rupp  <rupp@gnat.com>
3959
3960         * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
3961
3962 2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
3963
3964         * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
3965         all attributes, including read-only attribute.
3966
3967 2004-01-05  Pascal Obry  <obry@gnat.com>
3968
3969         * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
3970         library naming scheme.
3971
3972         * mlib-prj.adb (Build_Library): Generate different names for the static
3973         or dynamic version of the GNAT runtime. This is needed to support the
3974         new shared library naming scheme.
3975         (Process_Binder_File): Add detection of shared library in binder file
3976         based on the new naming scheme.
3977
3978         * gnatlink.adb (Process_Binder_File): Properly detect the new naming
3979         scheme for the shared runtime libraries.
3980
3981         * Makefile.in:
3982         (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
3983         scheme.
3984         (install-gnatlib): Do not create symlinks for shared libraries.
3985         (gnatlib-shared-default): Idem.
3986         (gnatlib-shared-dual-win32): New target. Not used for now as the
3987         auto-import feature does not support arrays/records.
3988         (gnatlib-shared-win32): Do not create copy for the shared libraries.
3989         (gnatlib-shared-vms): Fix shared runtime libraries names.
3990
3991         * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
3992         dependent runtime shared library name.
3993
3994 2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
3995
3996         * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
3997         than the object.
3998
3999 2004-01-05  Ed Schonberg  <schonberg@gnat.com>
4000
4001         * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
4002         protected objects when allocator has a subtype indication, not a
4003         qualified expression. Note that qualified expressions may have to be
4004         checked when limited aggregates are implemented.
4005
4006         * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
4007         pure, emit warning.
4008         (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
4009         subprogram is imported, remove warning.
4010
4011 2004-01-05  Geert Bosch  <bosch@gnat.com>
4012
4013         * s-poosiz.adb: Update copyright notice.
4014         (Allocate): Use Task_Lock to protect against concurrent access.
4015         (Deallocate): Likewise.
4016
4017 2004-01-05  Joel Brobecker  <brobecker@gnat.com>
4018
4019         * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
4020         comment.
4021
4022 2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
4023
4024         * gnat_ug.texi: Force a CVS commit by updating copyright.
4025         * gnat_ug_vxw.texi: Regenerate.
4026         * gnat_ug_wnt.texi: Regenerate.
4027         * gnat_ug_vms.texi: Regenerate.
4028         * gnat_ug_unx.texi: Regenerate.
4029
4030 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
4031
4032         * trans.c: Remove uses of "register" specifier in
4033         declarations of local variables.
4034
4035 2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
4036
4037         * stamp-xgnatug: New stamp file.
4038         * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
4039         (ada/doctools/xgnatug): Add $(build_exeext).
4040         (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
4041         ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
4042
4043 2003-12-17  Ed Falis  <falis@gnat.com>
4044
4045         * a-elchha.adb (Tailored_Exception_Information): made Info constant to
4046         eliminate warning.
4047
4048         * a-exextr.adb: Add context clause for
4049         Ada.Exceptions.Last_Chance_Handler.
4050
4051 2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
4052
4053         * cstand.adb (Create_Standard): Change the way how the declaration of
4054         the Duration type is created (making it the same way as it is for all
4055         the other standard types).
4056
4057 2003-12-17  Robert Dewar  <dewar@gnat.com>
4058
4059         * s-crtl.ads: Fix header format
4060         Change Pure to Preelaborate
4061
4062 2003-12-17  Ed Schonberg  <schonberg@gnat.com>
4063
4064         * checks.adb (Selected_Length_Checks): Generate an Itype reference for
4065         the expression type only if it is declared in the current unit.
4066
4067         * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
4068         are universal and already analyzed, as can occur in constrained
4069         subcomponents that depend on discriminants, when one constraint is a
4070         subtype mark.
4071
4072         * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
4073         type Any_Fixed is legal as the argument of a conversion, if only one
4074         fixed-point type is in context.
4075
4076 2003-12-17  GNAT Script  <nobody@gnat.com>
4077
4078         * Make-lang.in: Makefile automatically updated
4079
4080 2003-12-15  Robert Dewar  <dewar@gnat.com>
4081
4082         * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
4083         sec stack size.
4084
4085 2003-12-15  Vincent Celier  <celier@gnat.com>
4086
4087         * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
4088         (Gnatchop): Do not set failure status when reporting the number of
4089         warnings.
4090
4091 2003-12-15  Doug Rupp  <rupp@gnat.com>
4092
4093         * s-ctrl.ads: New file.
4094
4095         * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
4096
4097         * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
4098         (GNATBIND_OBJS): Add ada/s-crtl.o.
4099
4100         * Makefile.in [VMS]: Clean up ifeq rules.
4101
4102         * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
4103         a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
4104         g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
4105         s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
4106         s-tasdeb.adb: Update copyright.
4107         Import System.CRTL.
4108         Make minor modifications to use System.CRTL declared functions instead
4109         of importing locally.
4110
4111 2003-12-15  GNAT Script  <nobody@gnat.com>
4112
4113         * Make-lang.in: Makefile automatically updated
4114
4115 2003-12-11  Ed Falis  <falis@gnat.com>
4116
4117         * 5zinit.adb: Clean up.
4118
4119         * 5zintman.adb (Notify_Exception): replaced case statement with a call
4120         to __gnat_map_signal, imported from init.c to support
4121         signal -> exception mappings that depend on the vxWorks version.
4122
4123         * init.c:
4124         Created and exported __gnat_map_signal to support signal -> exception
4125         mapping that is dependent on the VxWorks version.
4126         Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
4127
4128 2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
4129
4130         * 5wosinte.ads: Link with -mthreads switch.
4131
4132 2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
4133
4134         * init.c (__gnat_install_handler [NetBSD]): Set
4135         __gnat_handler_installed, as done on all other platforms.
4136         Remove duplicated code.
4137
4138 2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
4139
4140         * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
4141
4142 2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
4143
4144         * sinfo.ads: Fix inconsistent example code in comment.
4145
4146 2003-12-11  Robert Dewar  <dewar@gnat.com>
4147
4148         * a-tiinau.adb: Add a couple of comments
4149
4150         * sem_ch3.adb: Minor reformatting
4151
4152         * sem_prag.adb:
4153         Fix bad prototype of Same_Base_Type in body (code reading cleanup)
4154         Minor reformatting throughout
4155
4156 2003-12-11  Ed Schonberg  <schonberg@gnat.com>
4157
4158         * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
4159         bounds of a loop, create a separate block in order to generate proper
4160         cleanup actions to prevent memory leaks.
4161
4162         * sem_res.adb (Resolve_Call): After a call to
4163         Establish_Transient_Scope, the call may be rewritten and relocated, in
4164         which case no further processing is needed.
4165
4166         * sem_util.adb: (Wrong_Type): Refine previous fix.
4167          Fixes ACATS regressions.
4168
4169         PR ada/13353
4170
4171         * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
4172         be inlined.
4173
4174 2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
4175
4176         * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
4177         i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
4178         obsolete files.
4179
4180         * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
4181         (rts-zfp): Ditto.
4182
4183 2003-12-08  Robert Dewar  <dewar@gnat.com>
4184
4185         * 7sintman.adb: Minor reformatting
4186
4187         * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
4188         standard linker options to get standard libraries linked. We now plan
4189         to provide dummy versions of these libraries to match the appropriate
4190         configurable run-time (e.g. if a library is not needed at all, provide
4191         a dummy empty library).
4192
4193         * targparm.ads: Configurable_Run_Time mode no longer affects linker
4194         options (-L parameters and standard libraries). What we plan to do is
4195         to provide dummy libraries where the libraries are not required.
4196
4197         * gnatbind.adb: Minor comment improvement
4198
4199 2003-12-08  Javier Miranda  <miranda@gnat.com>
4200
4201         * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
4202         aggregate in the parent. Otherwise constants with limited aggregates
4203         are not supported. Add new formal to pass the component type (Ctype).
4204         It is required to call the corresponding IP subprogram in case of
4205         default initialized components.
4206         (Gen_Assign): In case of default-initialized component, generate a
4207         call to the IP subprogram associated with the component.
4208         (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
4209         of aggregate with default initialized components.
4210         (Has_Default_Init_Comps): Improve implementation to recursively check
4211         all the present expressions.
4212
4213         * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
4214         to indicate that the initialization call corresponds to a
4215         default-initialized component of an aggregate.
4216         In case of default initialized aggregate with tasks this parameter is
4217         used to generate a null string (this is just a workaround that must be
4218         improved later). In case of discriminants, this parameter is used to
4219         generate a selected component node that gives access to the discriminant
4220         value.
4221
4222         * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
4223         subprogram, based on Build_Task_Allocate_Block, but adapted to expand
4224         allocated aggregates with default-initialized components.
4225
4226         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
4227         the box notation is used in positional aggregates.
4228
4229 2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
4230
4231         * lib.ads: Fix typo in comment
4232
4233 2003-12-08  Vincent Celier  <celier@gnat.com>
4234
4235         * prj.adb (Project_Empty): New component Unkept_Comments
4236         (Scan): Remove procedure; moved to Prj.Err.
4237
4238         * prj.ads (Project_Data): New Boolean component Unkept_Comments
4239         (Scan): Remove procedure; moved to Prj.Err.
4240
4241         * prj-dect.adb: Manage comments for the different declarations.
4242
4243         * prj-part.adb (With_Record): New component Node
4244         (Parse): New Boolean parameter Store_Comments, defaulted to False.
4245         Set the scanner to return ends of line and comments as tokens, if
4246         Store_Comments is True.
4247         (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
4248         comments are associated with these nodes. Store the node IDs in the
4249         With_Records.
4250         (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
4251         With_Records.
4252         (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
4253         the N_Project node. Call Tree.Save and Tree.Reset before scanning the
4254         current project. Call Tree.Restore afterwards. Set the various nodes
4255         for comment storage (Next_End, End_Of_Line, Previous_Line,
4256         Previous_End).
4257
4258         * prj-part.ads (Parse): New Boolean parameter Store_Comments,
4259         defaulted to False.
4260
4261         * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
4262         to False. When Truncated is True, truncate the string, never go to the
4263         next line.
4264         (Write_End_Of_Line_Comment): New procedure
4265         (Print): Process comments for nodes N_With_Clause,
4266         N_Package_Declaration, N_String_Type_Declaration,
4267         N_Attribute_Declaration, N_Typed_Variable_Declaration,
4268         N_Variable_Declaration, N_Case_Construction, N_Case_Item.
4269         Process nodes N_Comment.
4270
4271         * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
4272         without comments and there are some comments, set the flag
4273         Unkept_Comments to True.
4274         (Scan): If there are comments, set the flag Unkept_Comments to True and
4275         clear the comments.
4276         (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
4277         (Next_End_Nodes: New table
4278         (Comment_Zones_Of): New function
4279         (Scan): New procedure; moved from Prj. Accumulate comments in the
4280         Comments table and set end of line comments, comments after, after end
4281         and before end.
4282         (Add_Comments): New procedure
4283         (Save, Restore, Seset_State): New procedures
4284         (There_Are_Unkept_Comments): New function
4285         (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
4286         (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
4287         procedures.
4288         (First_Comment_After, First_Comment_After_End): New functions
4289         (First_Comment_Before, First_Comment_Before_End): New functions
4290         (Next_Comment): New function
4291         (End_Of_Line_Comment, Follows_Empty_Line,
4292         Is_Followed_By_Empty_Line): New functions
4293         (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
4294         (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
4295         (Set_Next_Comment): New procedure
4296         (Default_Project_Node): Associate comment before if the node can store
4297         comments.
4298
4299         * scans.ads (Token_Type): New enumeration value Tok_Comment
4300         (Comment_Id): New global variable
4301
4302         * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
4303         defaulted to False.
4304         (Scan): Store position of start of comment. If comments are tokens, set
4305         Comment_Id and set Token to Tok_Comment when scanning a comment.
4306         (Set_Comment_As_Token): New procedure
4307
4308         * sinput-p.adb: Update Copyright notice
4309         (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
4310         that no longer exists.
4311
4312 2003-12-08  Javier Miranda  <miranda@gnat.com>
4313
4314         * sem_aggr.adb: Add dependence on Exp_Tss package
4315         Correct typo in comment
4316         (Resolve_Aggregate): In case of array aggregates set the estimated
4317         type of the aggregate before calling resolve. This is needed to know
4318         the name of the corresponding IP in case of limited array aggregates.
4319         (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
4320         in case of default initialized array components.
4321
4322         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
4323         types. Required to give support to limited aggregates in generic
4324         formals.
4325
4326 2003-12-08  Ed Schonberg  <schonberg@gnat.com>
4327
4328         * sem_ch3.adb (Check_Initialization): For legality purposes, an
4329         inlined body functions like an instantiation.
4330         (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
4331         until bounds are analyzed, to diagnose premature use of type.
4332
4333         * sem_util.adb (Wrong_Type): Improve error message when the type of
4334         the expression is used prematurely.
4335
4336 2003-12-08  GNAT Script  <nobody@gnat.com>
4337
4338         * Make-lang.in: Makefile automatically updated
4339
4340 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
4341
4342         * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
4343         they are automatically generated by Make-lang.in and cause nothing but
4344         maintenance troubles.
4345
4346 2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
4347
4348         * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
4349         version of this unit).
4350
4351 2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
4352
4353         * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
4354         5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
4355         5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
4356         the body of System.Interrupt_Management common to several targets.
4357         Update copyright notice when appropriate.
4358
4359         * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
4360         constant.
4361
4362         * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
4363         to ensure that the kernel fills in the interrupted context structure
4364         before calling a signal handler, which is necessary to be able to
4365         unwind past it. Update the copyright notice.
4366
4367 2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
4368
4369         * a-elchha.ads: New file.
4370
4371         * a-elchha.adb: New default last chance handler. Contents taken from
4372         Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
4373
4374         * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
4375         is moved to a-elchha.adb to provide a target-independent default last
4376         chance handler.
4377
4378         * Makefile.rtl: Add a-elchha.o
4379
4380         * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
4381
4382 2003-12-05  Ed Schonberg  <schonberg@gnat.com>
4383
4384         * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
4385         declared in an instance, do not inline the call if the instance is not
4386         frozen yet, to prevent order of elaboration problems.
4387
4388         * sem_prag.adb: Add comments for previous fix.
4389
4390 2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
4391
4392         * g-table.adb: Use the right variable in Set_Item.
4393         Update copyright notice.
4394
4395 2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
4396
4397         * Makefile.in: Remove unused rules.
4398
4399 2003-12-05  Vincent Celier  <celier@gnat.com>
4400
4401         * switch-c.adb (Scan_Front_End_Switches): Remove processing of
4402         -nostdlib. Not needed here after all.
4403
4404 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
4405
4406         PR ada/11724
4407
4408         * adaint.h, adaint.c, g-os_lib.ads:
4409         Do not assume that the offset argument to lseek(2) is a 32 bit integer,
4410         on some platforms (including FreeBSD), it is a 64 bit value.
4411         Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
4412
4413 2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
4414
4415         * gnatvsn.ads (Library_Version): Now contain only the relevant
4416         version info.
4417         (Verbose_Library_Version): New constant.
4418
4419         * g-spipat.adb, g-awk.adb, g-debpoo.adb,
4420         g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
4421         s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
4422
4423         * gnatlbr.adb: Clean up: replace Library_Version by
4424         Verbose_Library_Version.
4425
4426         * make.adb, lib-writ.adb, exp_attr.adb:
4427         Clean up: replace Library_Version by Verbose_Library_Version.
4428
4429         * 5lintman.adb: Removed.
4430
4431         * Makefile.in:
4432         Update and simplify computation of LIBRARY_VERSION.
4433         Fix computation of GSMATCH_VERSION.
4434         5lintman.adb is no longer used: replaced by 7sintman.adb.
4435
4436 2003-12-03  Robert Dewar  <dewar@gnat.com>
4437
4438         * exp_ch5.adb:
4439         (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
4440         name. Modified to consider small non-bit-packed arrays as troublesome
4441         and in need of component-by-component assigment expansion.
4442
4443 2003-12-03  Vincent Celier  <celier@gnat.com>
4444
4445         * lang-specs.h: Process nostdlib as nostdinc
4446
4447         * back_end.adb: Update Copyright notice
4448         (Scan_Compiler_Arguments): Process -nostdlib directly.
4449
4450 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
4451
4452         * Makefile.in:
4453         When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
4454         redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
4455         included in HIE_NONE_TARGET_PAIRS.
4456
4457 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
4458
4459         * sem_attr.adb:
4460         (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
4461         is legal in an instance, because legality is cheched in the template.
4462
4463         * sem_prag.adb:
4464         (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
4465         appplied to an unchecked conversion of a formal parameter.
4466
4467         * sem_warn.adb:
4468         (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
4469         variables.
4470
4471 2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
4472
4473         * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
4474         routines. The second one is new functionality to deal with backtracing
4475         through signal handlers.
4476         (unwind): Split into the two separate subroutines above.
4477         Update the documentation, and deal properly with sizeof (REG) different
4478         from sizeof (void*).
4479
4480 2003-12-01  Nicolas Setton  <setton@act-europe.fr>
4481
4482         * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
4483         so that the debugger can reliably access the value of the parameter,
4484         and therefore is able to display the exception name when an exception
4485         breakpoint is reached.
4486
4487 2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
4488
4489         * fmap.adb: Fix typo in warning message.
4490
4491         * g-socket.ads, g-socket.adb: Make Free a visible instance of
4492         Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
4493
4494 2003-12-01  Vincent Celier  <celier@gnat.com>
4495
4496         * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
4497         ther is no Afile.
4498         (Build_Library): Get the switches only if Default_Switches is declared
4499         in package Binder.
4500
4501 2003-12-01  Ed Schonberg  <schonberg@gnat.com>
4502
4503         * exp_ch6.adb (Expand_Actuals): When applying validity checks to
4504         actuals that are indexed components, reanalyze actual to ensure that
4505         packed array references are properly expanded.
4506
4507         * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
4508         attempted assignment to a discriminant.
4509
4510 2003-12-01  Robert Dewar  <dewar@gnat.com>
4511
4512         * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
4513         reformatting.
4514
4515         * switch-c.adb: Minor reformatting of comments
4516
4517 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
4518
4519         * Makefile.in: Clean ups.
4520
4521 2003-12-01  GNAT Script  <nobody@gnat.com>
4522
4523         * Make-lang.in: Makefile automatically updated
4524
4525 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
4526
4527         * 5wsystem.ads: Disable zero cost exception, not ready yet.
4528
4529 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
4530
4531         * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
4532         to force serialization.
4533
4534 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
4535
4536         * g-socket.ads, g-socket.adb:
4537         Clarify documentation of function Stream. Introduce a Free procedure
4538         to release the returned Stream once it becomes unused.
4539
4540         * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
4541
4542 2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
4543
4544         (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
4545         since NT 4 cannot handle timeout values that are too large,
4546         e.g. DWORD'Last - 1.
4547
4548 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
4549
4550         * exp_ch4.adb:
4551         (Expand_N_Slice): Recognize all cases of slices that appear as actuals
4552         in procedure calls and whose expansion must be deferred.
4553
4554         * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
4555         is in exp_ch4.
4556
4557         * sem_ch3.adb:
4558         (Build_Derived_Array_Type): Create operator for unconstrained type
4559         if ancestor is unconstrained.
4560
4561 2003-11-26  Vincent Celier  <celier@gnat.com>
4562
4563         * make.adb (Project_Object_Directory): New global variable
4564         (Change_To_Object_Directory): New procedure
4565         (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
4566         of Change_Dir directly. Do not change working directory to object
4567         directory of main project after each compilation.
4568         (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
4569         directly.
4570         Change to object directory of main project before binding step.
4571         (Initialize): Initialize Project_Object_Directory to No_Project
4572
4573         * mlib-prj.adb:
4574         (Build_Library): Take into account Builder'Default_Switches ("Ada") when
4575         binding a Stand-Alone Library.
4576
4577         * output.adb: Update Copyright notice
4578         (Write_Char): Output buffer when full
4579
4580 2003-11-26  Robert Dewar  <dewar@gnat.com>
4581
4582         * sem_ch13.adb: (Check_Size): Reset size if size is too small
4583
4584         * sem_ch13.ads:
4585         (Check_Size): Fix documentation to include bit-packed array case
4586
4587         * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
4588
4589         * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
4590
4591         * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
4592
4593 2003-11-24  Arnaud Charlet <charlet@act-europe.fr>
4594
4595         PR ada/13142
4596         * utils.c (init_gigi_decls): Change name of built-in setjmp to
4597         __builtin_setjmp, since this is apparently needed by recent
4598         non Ada changes.
4599
4600 2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4601
4602         * adadecode.c: Only include ctype.h if not IN_GCC.
4603         (__gnat_decode): Use ISDIGIT from safe-ctype.h.
4604
4605 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
4606
4607         * Makefile.in:
4608         Use 5zintman.ads for VxWorks targets. This file avoid confusion between
4609         signals and interrupts.
4610
4611         * 5zintman.ads: New File.
4612
4613         * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
4614         add exception signals to the set of unmasked signals.
4615
4616         * 5ztaprop.adb:
4617         Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
4618         between signals and interrupts.
4619         Add to Unblocked_Signal_Mask the set of signals that are in
4620         Keep_Unmasked.
4621
4622         * 7sinmaop.adb:
4623         Adding a check to see whether the Interrupt_ID we want to unmask is in
4624         the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
4625         reason is that the index type of the Keep_Unmasked array is not always
4626         Interrupt_ID; it may be a subtype of Interrupt_ID.
4627
4628 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
4629
4630         * exp_util.adb:
4631         (Remove_Side_Effects): Condition constantness of object created for a
4632          an unchecked type conversion on the constantness of the expression
4633          to ensure the correct value for 'Constrained when passing components
4634          of view-converted class-wide objects.
4635
4636 2003-11-24  Robert Dewar  <dewar@gnat.com>
4637
4638         * par-load.adb (Load): Improve handling of misspelled and missing units
4639         Removes several cases of compilation abandoned messages
4640
4641         * lib.adb: (Remove_Unit): New procedure
4642
4643         * lib.ads: (Remove_Unit): New procedure
4644
4645         * lib-load.adb: Minor reformatting
4646
4647 2003-11-24  Vincent Celier  <celier@gnat.com>
4648
4649         * make.adb:
4650         (Gnatmake, Initialize): Call Usage instead of Makeusg directly
4651         (Marking_Label): Label to mark processed source files. Incremented for
4652         each executable.
4653         (Gnatmake): Increase Marking_Labet for each executable
4654         (Is_Marked): Compare against marking label
4655         (Mark): Mark with marking label
4656
4657 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
4658
4659         * s-thread.ads:
4660         Move the declaration of the TSD for System.Threads to System.Soft_Links.
4661         Add some comments.
4662
4663         * Makefile.in: Added target pair for s-thread.adb for cert runtime.
4664         (rts-cert): build a single relocatable object for the run-time lib.
4665         Fix perms.
4666
4667 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
4668
4669         * Make-lang.in:
4670         Use gnatls rather than gcc to obtain the location of GNAT RTL for
4671         crosstools build.
4672
4673 2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
4674
4675         * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
4676         can not use it as before (that is, as a variable) when dumping it into
4677         the tree file. Add a local variable to store the result of this
4678         function and to be used as the string to be written into the tree.
4679
4680         * scn.adb (Initialize_Scanner): Add comments explaining the recent
4681         changes.
4682
4683         * sinput.adb (Source_First, Source_Last): In case of
4684         Internal_Source_File, replace returning attributes of
4685         Internal_Source_Ptr (which is wrong) with returning attributes of
4686         Internal_Source.
4687
4688 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
4689
4690         * sem_ch3.adb:
4691         (New_Concatenation_Op): Proper name for New_Binary_Operator, only
4692         used for implicit concatenation operators.
4693         Code cleanup.
4694
4695         * sem_elab.adb:
4696         (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
4697         task bodies that are in the scope of a Suppress pragma.
4698         (Check_A Call): Use the flag to prevent spurious elaboration checks.
4699
4700         * sinfo.ads, sinfo.adb:
4701         New flag No_Elaboration_Check on function/procedure calls, to properly
4702         suppress checks on calls in task bodies that are within a local suppress
4703         pragma.
4704
4705         * exp_ch4.adb:
4706         (Expand_Concatenate_Other): Use the proper integer type for the
4707         expression for the upper bound, to avoid universal_integer computations
4708         when possible.
4709
4710 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
4711
4712         * .cvsignore: Delete.
4713
4714 2003-11-21  Andreas Schwab  <schwab@suse.de>
4715
4716         * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
4717
4718 2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
4719
4720         * 5wsystem.ads: Enable zero cost exception.
4721
4722 2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
4723
4724         * 5ztiitho.adb: Remove an unreferenced variable.
4725
4726 2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
4727
4728         * adaint.c: For FreeBSD, use mkstemp.
4729
4730 2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
4731
4732         * gnatlbr.adb: Now reference Gnat_Static_Version_String.
4733
4734 2003-11-21  Robert Dewar  <dewar@gnat.com>
4735
4736         * bld.adb: Remove useless USE of gnatvsn
4737
4738         * gnatchop.adb: Minor reformatting
4739         Clean up version handling to be more consistent
4740
4741         * gnatxref.adb: Minor reformatting
4742
4743         * gprcmd.adb: Minor reformatting
4744         Fix output of copyright to be more consistent with other tools
4745
4746 2003-11-21  Vincent Celier  <celier@gnat.com>
4747
4748         * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
4749
4750 2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
4751
4752         * atree.adb (Initialize): Add initializations for global variables
4753         used in New_Copy_Tree.
4754
4755         * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
4756         Internal_Source_File as the actual).
4757         Put the set of statements creating Any_Character before the set of
4758         statements creating Any_Array to have Any_Character fully initialized
4759         when it is used in creating Any_Array.
4760
4761         * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
4762         not call Scan in case if the actual is Internal_Source_File
4763         Add 2003 to copyright note.
4764
4765         * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
4766         processing Internal_Source_File.
4767
4768         * types.ads: Add the constant Internal_Source_File representing the
4769         source buffer for artificial source-code-like strings created within
4770         the compiler (the definition of Source_File_Index is changed).
4771
4772 2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
4773
4774         * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
4775         56system.ads: New file, FreeBSD version.
4776
4777 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
4778
4779         * Make-lang.in (ada.extraclean): Delete.
4780
4781 2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
4782
4783         * gnatmem.adb: Clean up verbose output.
4784
4785         * gprcmd.adb: Change copyright to FSF.
4786
4787 2003-11-19  Vincent Celier  <celier@gnat.com>
4788
4789         * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
4790         and Version (ignored).
4791
4792         * symbols.ads: (Policy): New type
4793         (Initialize): New parameter Reference, Symbol_Policy and
4794         Library_Version.
4795         Remove parameter Force.
4796         Minor reformatting.
4797
4798         * snames.ads, snames.adbadb: New standard names
4799         Library_Reference_Symbol_File and Library_Symbol_Policy
4800
4801         * mlib-prj.adb:
4802         (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
4803         project.
4804
4805         * mlib-tgt.adb:
4806         (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
4807
4808         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
4809
4810         * prj.adb: (Project_Empty): New component Symbol_Data
4811
4812         * prj.ads: (Policy, Symbol_Record): New types
4813         (Project_Data): New component Symbol_Data
4814
4815         * prj-attr.adb:
4816         New attributes Library_Symbol_File, Library_Symbol_Policy and
4817         Library_Reference_Symbol_File.
4818
4819         * prj-nmsc.adb:
4820         (Ada_Check): When project is a Stand-Alone library project, process
4821         attribute Library_Symbol_File, Library_Symbol_Policy and
4822         Library_Reference_Symbol_File.
4823
4824         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
4825         5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
4826         5sml-tgt.adb (Build_Dynamic_Library): New parameter
4827         Symbol_Data (ignored).
4828
4829         * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
4830         (Build_Dynamic_Library): New parameter Symbol_Data. New internal
4831         functions Option_File_Name and Version_String. Set new options of
4832         gnatsym related to symbol file, symbol policy and reference symbol
4833         file.
4834
4835         * 5vsymbol.adb:
4836         Extensive modifications to take into account the reference symbol file,
4837         the symbol policy, the library version and to put in the symbol file the
4838         minor and major IDs.
4839
4840         * bld.adb (Process_Declarative_Items): Put second argument of
4841         gprcmd to_absolute between single quotes, to avoid problems with
4842         Windows.
4843
4844         * bld-io.adb: Update Copyright notice.
4845         (Flush): Remove last character of a line, if it is a back slash, to
4846         avoid make problems.
4847
4848         * gnatsym.adb:
4849         Implement new scheme with reference symbol file and symbol policy.
4850
4851         * g-os_lib.ads: (Is_Directory): Clarify comment
4852
4853 2003-11-19  Robert Dewar  <dewar@gnat.com>
4854
4855         * atree.adb: Move New_Copy_Tree global variables to head of package
4856
4857         * errout.adb: Minor reformatting
4858
4859 2003-11-19  Javier Miranda  <miranda@gnat.com>
4860
4861         * sem_ch4.adb: (Diagnose_Call): Improve error message.
4862         Add reference to Ada0Y (AI-50217)
4863
4864         * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
4865         sem_util.adb: Add reference to AI-50217
4866
4867         * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
4868
4869         * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
4870
4871         * sem_aggr.adb: Complete documentation of AI-287 changes
4872
4873         * par-ch4.adb: Document previous changes.
4874
4875         * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
4876         sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
4877         Ada0Y (AI-50217)
4878
4879         * exp_aggr.adb: Add references to AI-287 in previous changes
4880
4881 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
4882
4883         * exp_ch6.adb:
4884         (Add_Call_By_Copy_Node): Do not original node of rewritten expression
4885         in the rewriting is the result of an inlined call.
4886
4887         * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
4888         parameter is a type conversion, use original node to construct the
4889         post-call assignment, because expression may have been rewritten, e.g.
4890         if it is a packed array.
4891
4892         * sem_attr.adb:
4893         (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
4894         body, just as it is in an instance.
4895         Categorization routines
4896
4897         * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
4898         Instantiate_Object): Set proper sloc reference for message on missing
4899         actual.
4900
4901 2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
4902
4903         * Makefile.in: Add FreeBSD libgnat pairs.
4904
4905         * usage.adb: Fix typo in usage message.
4906
4907 2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
4908
4909         * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
4910         s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
4911         pragma Thread_Body.
4912         Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
4913
4914         * s-thread.adb: This file is now a dummy implementation of
4915         System.Thread.
4916
4917 2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
4918
4919         * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
4920
4921 2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
4922
4923         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
4924         instanciation references in the parent type description.
4925
4926 2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4927
4928         * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
4929
4930         * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
4931         TYPE_PRECISION directly from esize.
4932
4933 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
4934
4935         * cstreams.c:
4936         Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
4937
4938         * init.c: Initialization routines for FreeBSD
4939
4940         * link.c: Link info for FreeBSD
4941
4942         * sysdep.c: Add the case of FreeBSD
4943
4944 2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
4945
4946         * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
4947         already called in System.Threads.
4948
4949         * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
4950         environment task, as it has been moved to System.Threads.Initialization.
4951
4952 2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
4953
4954         * adaint.c (__gnatlib_install_locks): Only reference
4955         __gnat_install_locks on VMS, since other platforms can avoid using
4956         --enable-threads=gnat
4957
4958 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4959
4960         * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
4961
4962         * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
4963         TYPE_PACKED_ARRAY_TYPE_P.
4964         (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
4965
4966         Part of PR ada/12806
4967         * utils.c (float_type_for_precision): Renamed from float_type_for_size.
4968         Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
4969
4970 2003-11-17  Vincent Celier  <celier@gnat.com>
4971
4972         * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
4973         to False.
4974         Do not set exit status to Failure when Warning is True.
4975         (Gnatchop): Make errors "no compilation units found" and
4976         "no source files written" warnings only.
4977
4978         * make.adb (Gnatmake): When using a project file, set
4979         Look_In_Primary_Dir to False.
4980         (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
4981         and Local_Configuration_Pragmas in the project where they are declared
4982         not an extending project which might have inherited them.
4983
4984         * osint.adb (Locate_File): If Name is already an absolute path, do not
4985         look for a directory.
4986
4987         * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
4988         -gnats (Check_Syntax) is used, issue only a warning, not an error.
4989
4990         * prj.adb (Register_Default_Naming_Scheme): Add new component Project
4991         in objects of type Variable_Value.
4992
4993         * prj.ads: (Variable_Value): New component Project
4994
4995         * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
4996         is in a project extended by Project.
4997
4998         * prj-proc.adb (Add_Attributes): New parameter Project. Set component
4999         Project of Variable_Values to this new parameter value.
5000         (Expression): Set component Project of Variable_Values.
5001         (Process_Declarative_Items): Call Add_Attributes with parameter Project.
5002         Set the component Project in array elements.
5003
5004 2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
5005
5006         * errout.adb: (Initialize): Add initialization for error nodes.
5007
5008         * sem_ch12.adb (Initialize): Add missing initializations for
5009         Exchanged_Views and Hidden_Entities.
5010
5011 2003-11-17  Ed Schonberg  <schonberg@gnat.com>
5012
5013         * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
5014         already instantiated tree for use in subsequent inlining.
5015         (Analyze_Associations, Instantiate_Formal_Subprogram,
5016         Instantiate_Object): improve error message for mismatch in
5017         instantiations.
5018
5019         * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
5020         instantiations of subprograms declared in instances.
5021
5022 2003-11-17  Javier Miranda  <miranda@gnat.com>
5023
5024         * sem_ch4.adb (Analyze_Allocator): Previous modification must be
5025         executed only under the Extensions_Allowed flag.
5026
5027 2003-11-17  Robert Dewar  <dewar@gnat.com>
5028
5029         * a-exexda.adb (Address_Image): Fix documentation to indicate leading
5030         zeroes suppressed.
5031         (Address_Image): Fix bug of returning 0x instead of 0x0
5032         Minor reformatting (function specs).
5033
5034         * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
5035         (missed case of 33-63)
5036
5037         * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
5038
5039         * s-thread.adb: Add comments for pragma Restriction
5040
5041         * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
5042         sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
5043
5044 2003-11-17  Ed Falis  <falis@gnat.com>
5045
5046         * s-thread.adb: Added No_Tasking restriction for this implementation.
5047
5048 2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
5049
5050         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
5051         instanciation references in the parent type description.
5052
5053 2003-11-17  GNAT Script  <nobody@gnat.com>
5054
5055         * Make-lang.in: Makefile automatically updated
5056
5057 2003-11-16  Jason Merrill  <jason@redhat.com>
5058
5059         * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
5060         and TAGS files that include them for each front end.
5061
5062 2003-11-14  Andreas Jaeger  <aj@suse.de>
5063
5064         * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
5065         is the canonical version.
5066         * misc.c (gnat_handle_option): Likewise.
5067
5068         * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
5069
5070         * 5nsystem.ads: New file for x86_64-linux-gnu.
5071
5072 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
5073
5074         * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
5075
5076         * comperr.adb: Fix logic in previous change.
5077
5078 2003-11-13  Vincent Celier  <celier@gnat.com>
5079
5080         * 5bml-tgt.adb (Build_Dynamic_Library): Use
5081         Osint.Include_Dir_Default_Prefix instead of
5082         Sdefault.Include_Dir_Default_Name.
5083
5084         * gnatlbr.adb: Update Copyright notice
5085         (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
5086         Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
5087         instead of Sdefault.Object_Dir_Default_Name
5088
5089         * gnatlink.adb:
5090         (Process_Binder_File): Never suppress the option following -Xlinker
5091
5092         * mdll-utl.adb:
5093         (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
5094         Sdefault.Object_Dir_Default_Name.
5095
5096         * osint.ads, osint.adb:
5097         (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
5098         Minor reformatting.
5099
5100         * vms_conv.ads: Minor reformating
5101         Remove GNAT STANDARD and GNAT PSTA
5102
5103         * vms_conv.adb:
5104         Allow GNAT MAKE to have several files on the command line.
5105         (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
5106         Sdefault.Object_Dir_Default_Name.
5107         Minor Reformating
5108         Remove data for GNAT STANDARD
5109
5110         * vms_data.ads:
5111         Add new compiler qualifier /PRINT_STANDARD (-gnatS)
5112         Remove data for GNAT STANDARD
5113         Remove options and documentation for -gnatwb/-gnatwB: these warning
5114         options no longer exist.
5115
5116 2003-11-13  Ed Falis  <falis@gnat.com>
5117
5118         * 5zthrini.adb: (Init_RTS): Made visible
5119
5120         * 5zthrini.adb:
5121         (Register): Removed unnecessary call to taskVarGet that checked whether
5122          an ATSD was already set as a task var for the argument thread.
5123
5124         * s-thread.adb:
5125         Updated comment to reflect that this is a VxWorks version
5126         Added context clause for System.Threads.Initialization
5127         Added call to System.Threads.Initialization.Init_RTS
5128
5129 2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
5130
5131         * 5zthrini.adb:
5132         (Init_RTS): New procedure, for the initialization of the run-time lib.
5133
5134         * s-thread.adb:
5135         Remove dependancy on System.Init, so that this file can be used in the
5136         AE653 sequential run-time lib.
5137
5138 2003-11-13  Robert Dewar  <dewar@gnat.com>
5139
5140         * bindgen.adb: Minor reformatting
5141
5142 2003-11-13  Ed Schonberg  <schonberg@gnat.com>
5143
5144         * checks.adb:
5145         (Apply_Discriminant_Check): Do no apply check if target type is derived
5146         from source type with no applicable constraint.
5147
5148         * lib-writ.adb:
5149         (Ensure_System_Dependency): Do not apply the style checks that may have
5150         been specified for the main unit.
5151
5152         * sem_ch8.adb:
5153         (Find_Selected_Component): Further improvement in error message, with
5154         RM reference.
5155
5156         * sem_res.adb:
5157         (Resolve): Handle properly the case of an illegal overloaded protected
5158         procedure.
5159
5160 2003-11-13  Javier Miranda  <miranda@gnat.com>
5161
5162         * exp_aggr.adb:
5163         (Has_Default_Init_Comps): New function to check the presence of
5164         default initialization in an aggregate.
5165         (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
5166         extension aggregate of a limited record. In addition, a new formal
5167         was added to do not initialize the record controller (if any) during
5168         this recursive expansion of ancestors.
5169         (Init_Controller): Add support for limited record components.
5170         (Expand_Record_Aggregate): In case of default initialized components
5171         convert the aggregate into a set of assignments.
5172
5173         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
5174         describing the new syntax.
5175         Nothing else needed to be done because this subprogram delegates part of
5176         its work to P_Precord_Or_Array_Component_Association.
5177         (P_Record_Or_Array_Component_Association): Give support to the new
5178         syntax for default initialization of components.
5179
5180         * sem_aggr.adb:
5181         (Resolve_Aggregate): Relax the strictness of the frontend in case of
5182         limited aggregates.
5183         (Resolve_Record_Aggregate): Give support to default initialized
5184         components.
5185         (Get_Value): In case of default initialized components, duplicate
5186         the corresponding default expression (from the record type
5187         declaration). In case of default initialization in the *others*
5188         choice, do not check that all components have the same type.
5189         (Resolve_Extension_Aggregate): Give support to limited extension
5190         aggregates.
5191
5192         * sem_ch3.adb:
5193         (Check_Initialization): Relax the strictness of the front-end in case
5194         of aggregate and extension aggregates. This test is now done in
5195         Get_Value in a per-component manner.
5196
5197         * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
5198         expression corresponds to a limited aggregate. This test is now done
5199         in Get_Value.
5200
5201         * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
5202         Box_Present flag.
5203
5204         * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
5205         present in an N_Component_Association node
5206
5207 2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
5208
5209         * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
5210         type-conformant entry only if they are homographs.
5211
5212 2003-11-13  GNAT Script  <nobody@gnat.com>
5213
5214         * Make-lang.in: Makefile automatically updated
5215
5216 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5217
5218         * adadecode.c: Use <> form of include for ctype.h.
5219         * sysdep.c [IN_RTS]: Use <> form of include for time.h.
5220
5221 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5222
5223         * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
5224         Works around PR middle-end/6552.
5225
5226 2003-11-10  Ed Falis  <falis@gnat.com>
5227
5228         * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
5229
5230         * 5zinit.adb: (Install_Handler): Moved back to spec
5231         (Install_Signal_Handlers): Deleted
5232
5233         * 5zthrini.adb: Added context clause for System.Storage_Elements
5234         (Register): Only handles creation of taskVar; initialization moved to
5235         Thread_Body_Enter.
5236         (Reset_TSD): Deleted; replaced by Thread_Body_Enter
5237         Added declaration of environment task secondary stack and
5238         initialization.
5239
5240         * s-thread.adb: Implement bodies for thread body processing
5241
5242         * s-thread.ads:
5243         Added comment identifying supported targets for pragma Thread_Body.
5244
5245 2003-11-10  Pascal Obry  <obry@gnat.com>
5246
5247         * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
5248         GNAT_MAX_PATH_LEN.
5249
5250         * s-fileio.adb:
5251         (Open): Properly check for string length before copying into the buffer.
5252         Raises Name_Error if buffer is too small. Note that this was a potential
5253         buffer overflow.
5254
5255 2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
5256
5257         * bindgen.adb, comperr.adb: Code clean ups.
5258         * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
5259
5260 2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
5261
5262         * gnat1drv.adb: Add call to Sem_Elim.Initialize.
5263
5264 2003-11-10  Vincent Celier  <celier@gnat.com>
5265
5266         * gprcmd.adb:
5267         (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
5268         installation.
5269
5270         * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
5271
5272         * prj.adb: (Project_Empty): Add new boolean component Virtual
5273
5274         * prj.ads: (Virtual_Prefix): New constant string
5275         (Project_Data): New boolean component Virtual
5276
5277         * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
5278         a library project is extended by a virtual extending project.
5279
5280         * prj-part.adb:
5281         Modifications throughout to implement extending-all project, including:
5282         (Virtual_Hash, Processed_Hash): New hash tables
5283         (Create_Virtual_Extending_Project): New procedure
5284         (Look_For_Virtual_Projects_For): New procedure
5285
5286         * prj-proc.adb:
5287         (Process): After checking the projects, if main project is an
5288         extending-all project, set the object directory of all virtual extending
5289         project to the object directory of the main project.
5290         Adjust error message when a virtual extending project has the same
5291         object directory as an project being extended.
5292         (Recursive_Process): If name starts with the virtual prefix, set Virtual
5293         to True in the project data.
5294
5295         * prj-tree.adb:
5296         (Default_Project_Node): Add new boolean component Extending_All
5297         (Is_Extending_All): New function
5298         (Set_Is_Extending_All): New procedure
5299
5300         * prj-tree.ads: (Is_Extending_All): New function
5301         (Set_Is_Extending_All): New procedure
5302         (Project_Node_Record): New boolean component Extending_All
5303
5304         * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
5305
5306         * vms_data.ads:
5307         Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
5308
5309         * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
5310         "gprcmd prefix" to define it.
5311
5312 2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
5313
5314         * einfo.ads: Fix a typo and remove an extraneous word in comments.
5315
5316         * lib-load.adb:
5317         (Create_Dummy_Package_Unit): Set the scope of the entity for the
5318         created dummy package to Standard_Standard, not to itself, to
5319         defend other parts of the front-end against encoutering a cycle in
5320         the scope chain.
5321
5322         * sem_ch10.adb:
5323         (Analyze_With_Clause): When setting the entities for the successive
5324         N_Expanded_Names that constitute the name of a child unit, do not
5325         attempt to go further than Standard_Standard in the chain of scopes.
5326         This case arises from the placeholder units created by
5327         Create_Dummy_Package_Unit in the case of a with_clause for a
5328         nonexistent child unit.
5329
5330 2003-11-10  Ed Schonberg  <schonberg@gnat.com>
5331
5332         * exp_ch6.adb:
5333         (Expand_Thread_Body): Place subprogram on scope stack, so that new
5334         declarations are given the proper scope.
5335
5336         * sem_ch13.adb:
5337         (Check_Expr_Constants): Reject an expression that contains a constant
5338         created during expansion, and that appears after the object to which
5339         the address clause applies.
5340
5341         * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
5342         Analyze_Iteration_Scheme, to rewrite a loop parameter specification
5343         that uses 'Range of a function call with controlled components, so
5344         that the function result can be finalized before starting the loop.
5345
5346         * sem_ch8.adb:
5347         (Find_Selected_Component): Improve error message when prefix is
5348         an implicit dereference of an incomplete type.
5349
5350 2003-11-10  Robert Dewar  <dewar@gnat.com>
5351
5352         * opt.ads: New Print_Standard flag for -gnatS switch
5353
5354         * sem_ch13.adb: Remove some additional checks for unaligned arrays
5355
5356         * cstand.adb (Create_Standard): Print out package standard if -gnatS
5357         switch set
5358
5359         * debug.adb: Update doc for -gnatds to discuss relationship with new
5360         -gnatS flag
5361
5362         * sinfo.adb: Add new field Entity_Or_Associated_Node
5363
5364         * sinfo.ads: Add new field Entity_Or_Associated_Node
5365         Update documentation for Associated_Node and Entity fields to clarify
5366         relationship and usage.
5367
5368         * sprint.adb:
5369         (Write_Id): Properly process Associated_Node field in generic template
5370
5371         * switch-c.adb:
5372         Recognize new -gnatS switch for printing package Standard
5373         This replaces gnatpsta
5374
5375         * usage.adb:
5376         Add line for  new -gnatS switch for printing package Standard
5377         This replaces gnatpsta
5378
5379 2003-11-10  Andreas Jaeger  <aj@suse.de>
5380
5381         * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
5382         integer.
5383
5384 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
5385
5386         * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
5387         by gnat1.
5388
5389 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
5390
5391         * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
5392         no longer needed.
5393
5394         * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
5395
5396         * sysdep.c: Add handling of cygwin.
5397
5398 2003-11-10  GNAT Script  <nobody@gnat.com>
5399
5400         * Make-lang.in: Makefile automatically updated
5401
5402 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
5403
5404         PR 12950
5405         * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
5406         functions. Used to handle dynamic prefix relocation, via set_std_prefix.
5407         Replace GNAT_ROOT by GCC_ROOT.
5408
5409         * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
5410
5411 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
5412
5413         * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
5414         and update for changed meaning of GET_MODE_BITSIZE.
5415
5416 2003-11-04  Doug Rupp  <rupp@gnat.com>
5417
5418         * sysdep.c: Problem discovered during IA64 VMS port.
5419         [VMS] #include <unixio.h> to get proper prototypes.
5420
5421         * adaint.c:
5422         Issues discovered/problems fixed during IA64 VMS port.
5423         [VMS] #define _POSIX_EXIT for proper semantics.
5424         [VMS] #include <unixio.h> for proper prototypes.
5425         [VMS] (fork): #define IA64 version.
5426         (__gnat_os_exit): Remove unnecessary VMS specific code.
5427
5428 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5429
5430         Part of PR ada/12806
5431
5432         * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
5433         tree, not integer.
5434
5435         * decl.c:
5436         (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
5437         not integer.
5438
5439         * targtyps.c, decl.c, misc.c,
5440         gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
5441         routines to work around change in FP sizing semantics in GCC.
5442
5443         * utils.c:
5444         (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
5445
5446         * gigi.h: (enumerate_modes): New function.
5447
5448         * Make-lang.in: (ada/misc.o): Add real.h.
5449
5450         * misc.c: (enumerate_modes): New function.
5451
5452 2003-11-04  Robert Dewar  <dewar@gnat.com>
5453
5454         * 3vtrasym.adb: Minor reformatting
5455         Use terminology encoded/decoded name, rather than C++ specific notion
5456         of mangling (this is the terminology used throughout GNAT).
5457
5458         * einfo.h: Regenerated
5459
5460         * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
5461
5462         * exp_ch6.adb:
5463         (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
5464
5465         * par-prag.adb: Add dummy entry for Thread_Body pragma
5466
5467         * rtsfind.ads:
5468         Add entries for System.Threads entities for thread body processing
5469
5470         * sem_attr.adb:
5471         (Analyze_Pragma, Access attributes): Check these are not applied to a
5472         thread body, since this is not permitted
5473
5474         * sem_prag.adb: Add processing for Thread_Body pragma.
5475         Minor comment fix.
5476
5477         * sem_res.adb:
5478         (Resolve_Call): Check for incorrect attempt to call a thread body
5479          procedure with a direct call.
5480
5481         * snames.ads, snames.adb: Add entry for Thread_Body pragma
5482         Add names associated with thread body expansion
5483
5484         * snames.h: Add entry for Thread_Body pragma
5485
5486         * s-thread.adb: Add entries for thread body processing
5487         These are dummy bodies so far
5488
5489         * s-thread.ads: Add documentation on thread body handling.
5490         Add entries for thread body processing.
5491
5492 2003-11-04  Javier Miranda  <miranda@gnat.com>
5493
5494         * sem_ch10.adb:
5495         (Build_Limited_Views): Return after posting an error in case of limited
5496         with_clause on subprograms, generics, instances or generic renamings
5497         (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
5498         on subprograms, generics, instances or generic renamings
5499
5500 2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
5501
5502         * raise.c (setup_to_install): Correct mistake in last revision; two
5503         arguments out of order.
5504
5505         * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
5506         gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
5507         notice, missed in previous change.
5508         Remove trailing blanks and other style errors introduced in previous
5509         change.
5510
5511 2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
5512
5513         * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
5514         rid of the wrapper for a LJM type, ensuring we don't do that if the
5515         field is addressable.  This avoids potential low level type view
5516         mismatches later on, for instance in a by-reference argument passing
5517         process.
5518
5519 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5520
5521         * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
5522         aligned at byte boundary.
5523
5524 2003-11-04  Joel Brobecker  <brobecker@gnat.com>
5525
5526         * decl.c (components_to_record): Do not delete the empty variants from
5527         the end of the union type.
5528
5529 2003-11-04  Ed Schonberg  <schonberg@gnat.com>
5530
5531         * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
5532         operation for a derived type, an explicit declaration may use a local
5533         subtype of Boolean.
5534
5535 2003-11-04  Vincent Celier  <celier@gnat.com>
5536
5537         * make.adb (Gnatmake): Allow main sources on the command line with a
5538         library project when it is only for compilation (no binding or
5539         linking).
5540
5541 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5542
5543         * Makefile.in: Remove many duplicate variables.
5544
5545 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
5546
5547         * Make-lang.in (dvi): Move targets to $(docobjdir).
5548         (gnat_ug_vms.dvi): Simplify rule and adjust target.
5549         (gnat_ug_wnt.dvi): Likewise.
5550         (gnat_ug_unx.dvi): Likewise.
5551         (gnat_ug_vxw.dvi): Likewise.
5552         (gnat_rm.dvi): Likewise.
5553         (gnat-style.dvi): Likewise.
5554
5555 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
5556
5557         * gigi.h: Missed commit from update for C90.
5558
5559 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
5560
5561         * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
5562
5563 2003-10-31  Andreas Schwab  <schwab@suse.de>
5564
5565         * raise.c (get_action_description_for): Fix typo in last change.
5566
5567 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
5568
5569         PR ada/12761
5570         * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
5571         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
5572
5573 2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
5574
5575         * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
5576         ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
5577         gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
5578         sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
5579         trans.c, utils.c, utils2.c: Convert function prototypes to C90.
5580
5581 2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
5582
5583         * 3vtrasym.adb:
5584         Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
5585         numbers when symbol name is too long.
5586
5587 2003-10-30  Ed Falis  <falis@gnat.com>
5588
5589         * g-signal.ads, g-signal.adb: New files
5590
5591         * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
5592
5593         * Makefile.rtl: Introduce GNAT.Signals
5594
5595 2003-10-30  Robert Dewar  <dewar@gnat.com>
5596
5597         * freeze.adb: Minor reformatting
5598
5599         * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
5600
5601         * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
5602         par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
5603         New handling of Id_Check parameter to improve recognition of keywords
5604         used as identifiers.
5605         Update copyright notice to include 2003
5606
5607 2003-10-29  Robert Dewar  <dewar@gnat.com>
5608
5609         * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
5610         sem_ch10.adb: Minor reformatting
5611
5612         * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
5613         (Expand_Assign_Record): Test right hand side for bit unaligned as well
5614
5615 2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
5616
5617         * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
5618         Support for TBK$SYMBOLIZE-based symbolic traceback.
5619
5620 2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
5621
5622         * exp_disp.adb:
5623         Revert previous change, that did not work well when pragma No_Run_Time
5624         was used in conjunction with a run-time other than ZFP.
5625
5626 2003-10-29  Vincent Celier  <celier@gnat.com>
5627
5628         * make.adb:
5629         (Gnatmake): When there are no Ada mains in attribute Main, disable the
5630          bind and link steps only is switch -z is not used.
5631
5632 2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
5633
5634         * Makefile.generic: Remove duplicated setting of CC.
5635
5636         * Makefile.prolog: Set CC to gcc by default, to override make's
5637         default (cc).
5638
5639         * einfo.h: Regenerated.
5640
5641 2003-10-29  Ed Schonberg  <schonberg@gnat.com>
5642
5643         * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
5644         current body, after compiling subunit.
5645
5646         * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
5647         when in deleted code, because gigi needs properly ordered freeze
5648         actions to annotate types.
5649
5650         * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
5651         prevent the premature freezing of record type that contains
5652         subcomponents with a private type that does not yet have a completion.
5653
5654 2003-10-29  Javier Miranda  <miranda@gnat.com>
5655
5656         * sem_ch12.adb:
5657         (Analyze_Package_Instantiation): Check that instances can not be used in
5658         limited with_clauses.
5659
5660         * sem_ch8.adb:
5661         (Analyze_Package_Renaming): Check that limited withed packages cannot
5662         be renamed. Improve text on error messages related to limited
5663         with_clauses.
5664
5665         * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
5666
5667         * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
5668         Update copyright notice.
5669
5670         * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
5671         (Install_Limited_Context_Clauses): New subprogram that isolates all the
5672         checks required for limited context_clauses and installs the limited
5673         view.
5674         (Install_Limited_Withed_Unit): Complete its documentation.
5675         (Analyze_Context): Check that limited with_clauses are only allowed in
5676         package specs.
5677         (Install_Context): Call Install_Limited_Context_Clauses after the
5678         parents have been installed.
5679         (Install_Limited_Withed_Unit): Add documentation. Mark the installed
5680         package as 'From_With_Type'; this mark indicates that the limited view
5681         is installed. Used to check bad usages of limited with_clauses.
5682         (Build_Limited_Views): Do not add shadow entities to the scope's list
5683         of entities. Do not add real entities to the Non_Limited_Views chain.
5684         Improve error notification.
5685         (Remove_Context_Clauses): Remove context clauses in two phases:
5686         limited views first and regular views later (to maintain the
5687         stack model).
5688         (Remove_Limited_With_Clause): If the package is analyzed then reinstall
5689         its visible entities.
5690
5691 2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
5692
5693         * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
5694         with any type that Is_Fixed_Point_Type.
5695
5696         * sinfo.ads: Fix documentation for Associated_Node attribute.
5697
5698 2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
5699
5700         * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
5701         both '-gnatc' and '-gnatt' are specified.
5702
5703         * atree.adb (Initialize): Add initialization for Node_Count (set to
5704         zero).
5705
5706 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5707
5708         * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
5709         do not consider as Pure.
5710
5711         Part of implementation of function-at-a-time:
5712
5713         * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
5714         (tree_transform): Add new argument to build_component_ref.
5715         (tree_transform, case N_Assignment_Statement): Make and return an
5716         EXPR_STMT.
5717         (tree_transform): If result IS_STMT, set flags and return it.
5718         (gnat_expand_stmt, set_lineno_from_sloc): New functions.
5719
5720         * utils2.c (build_simple_component_ref, build_component_ref): Add new
5721         arg, NO_FOLD_P.
5722         (build_binary_op, case EQ_EXPR): Pass additional arg to it.
5723         (build_allocator): Likewise.
5724
5725         * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
5726         Add new arg to build_component_ref.
5727         (maybe_unconstrained_array, unchecked_convert): Likewise.
5728
5729         * ada-tree.def (EXPR_STMT): New code.
5730
5731         * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
5732
5733         * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
5734         build_component_ref calls.
5735
5736         * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
5737
5738         * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
5739         (build_component_ref): Add new argument, NO_FOLD_P.
5740
5741 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
5742
5743         * Makefile.generic: Add missing substitution on object_deps handling.
5744
5745         PR ada/5909:
5746         * Make-lang.in (check-ada): Enable ACATS test suite.
5747
5748 2003-10-27  Robert Dewar  <dewar@gnat.com>
5749
5750         * exp_ch3.adb:
5751         (Freeze_Array_Type): We do not need an initialization routine for types
5752         derived from String or Wide_String. They should be treated the same
5753         as String and Wide_String themselves. This caused problems with the
5754         use of Initialize_Scalars.
5755
5756         * exp_ch5.adb:
5757         (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
5758         composites. This allows use of component clauses that are not byte
5759         aligned.
5760
5761         * sem_prag.adb:
5762         (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
5763         is an attempt to pack an array of atomic objects.
5764
5765         * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
5766
5767 2003-10-27  Pascal Obry  <obry@gnat.com>
5768
5769         * g-dirope.adb:
5770         (Basename): Check for drive letters in a pathname only on DOS based OS.
5771
5772 2003-10-27  Vincent Celier  <celier@gnat.com>
5773
5774         * make.adb:
5775         (Gnatmake): When unable to change dir to the object dir, display the
5776         content of the parent dir of the obj dir, to try to understand why this
5777         happens.
5778
5779 2003-10-27  GNAT Script  <nobody@gnat.com>
5780
5781         * Make-lang.in: Makefile automatically updated
5782
5783 2003-10-27  Ed Schonberg  <schonberg@gnat.com>
5784
5785         * sem_ch12.adb:
5786         (Inline_Instance_Body): Indicate that the save/restore of use_clauses
5787         should not be done in Save/Restore_Scope_Stack, because it is performed
5788         locally.
5789
5790         * sem_ch8.adb:
5791         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
5792         whether use clauses should be removed/restored.
5793
5794         * sem_ch8.ads:
5795         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
5796         whether use clauses should be removed/restored.
5797
5798 2003-10-26  Andreas Jaeger  <aj@suse.de>
5799
5800         * Makefile.in: Remove duplicated lines.
5801
5802 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
5803
5804         * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
5805         minimize the differences with ACT tree.
5806
5807         * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
5808         gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
5809         Gnatvsn.Gnat_Static_Version_String to reduce differences between
5810         ACT and FSF trees.
5811
5812 2003-10-24  Pascal Obry  <obry@gnat.com>
5813
5814         * adadecode.c (ostrcpy): New function.
5815         (__gnat_decode): Use ostrcpy of strcpy.
5816         (has_prefix): Set first parameter a const.
5817         (has_suffix): Set first parameter a const.
5818         Update copyright notice. Fix source name in header.
5819         Removes a trailing space.
5820         PR ada/12014.
5821
5822 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
5823
5824         * exp_disp.adb:
5825         Remove the test against being in No_Run_Time_Mode before generating a
5826         call to Register_Tag. It is redundant with the test against the
5827         availability of the function Register_Tag.
5828
5829 2003-10-24  Vincent Celier  <celier@gnat.com>
5830
5831         * g-catiio.adb: (Month_Name): Correct spelling of February
5832
5833         * make.adb: (Mains): New package
5834         (Initialize): Call Mains.Delete
5835         (Gnatmake): Check that each main on the command line is a source of a
5836         project file and, if there are several mains, each of them is a source
5837         of the same project file.
5838         (Gnatmake): When a foreign language is specified in attribute Languages,
5839         no main is specified on the command line and attribute Mains is not
5840         empty, only build the Ada main. If there is no Ada main, just compile
5841         the Ada sources and their closure.
5842         (Gnatmake): If a main is specified on the command line with directory
5843         information, check that the source exists and, if it does, that the path
5844         is the actual path of a source of a project.
5845
5846         * prj-env.adb:
5847         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
5848         Full_Path is True, return the full path instead of the simple file name.
5849         (Project_Of): New function
5850
5851         * prj-env.ads:
5852         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
5853         defaulted to False.
5854         (Project_Of): New function
5855
5856 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
5857
5858         * Makefile.generic:
5859         Ensure objects of main project are always checked and rebuilt if needed.
5860         Set CC to gcc by default.
5861         Prepare new handling of link by creating a global archive (not activated
5862         yet).
5863
5864         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
5865         stringt.h: Update copyright notice. Remove trailing blanks.
5866         Fix source name in header.
5867
5868 2003-10-24  Robert Dewar  <dewar@gnat.com>
5869
5870         * sem_ch12.adb: Minor reformatting
5871
5872         * sem_ch3.adb:
5873         Minor reformatting (including new function return style throughout)
5874
5875         * sem_ch3.ads:
5876         Minor reformatting (including new function return style throughout)
5877
5878 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
5879
5880         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
5881         stringt.h: Update copyright notice. Remove trailing blanks.
5882         Fix source name in header.
5883
5884 2003-10-24  GNAT Script  <nobody@gnat.com>
5885
5886         * Make-lang.in: Makefile automatically updated
5887
5888 2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
5889
5890         * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
5891         stringt.h: Convert to ISO C90 declarations and definitions.
5892
5893 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
5894
5895         PR ada/11978:
5896         * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
5897         External_Tag attribute definition clauses.
5898
5899 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
5900
5901         PR ada/7613:
5902         * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
5903         child unit, generate a fully qualified name to avoid spurious errors
5904         when the context contains renamings of different child units with
5905         the same simple name.
5906
5907         * exp_dbug.ads: Add documentation on name qualification for renamings
5908         of child units.
5909
5910 2003-10-23  Robert Dewar  <dewar@gnat.com>
5911
5912         * g-regpat.ads, g-regpat.adb: Minor reformatting
5913
5914 2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
5915
5916         * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
5917
5918 2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5919
5920         * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
5921         Machine call.
5922
5923         * urealp.h: (Machine): Update to proper definition.
5924
5925 2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
5926
5927         * init.c, adaint.c: Minor reformatting.
5928
5929 2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
5930
5931         * adaint.c (w32_epoch_offset): Define static const at file level.
5932         (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
5933         rather than t_create, t_access in call to GetFileTime. Use union
5934         to convert between FILETIME and  unsigned long long.
5935         (__gnat_file_time_name): Test for invalid file handle.
5936         (__gnat_set_filetime_name): Support win32 targets using
5937         w32api SetFileTime.
5938
5939 2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
5940
5941         * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
5942
5943         * ctrl_c.c (__gnat_int_handler): Remove declaration.
5944
5945         * decl.c (creat_concat_name):  Const-ify prefix.
5946
5947         * adaint.c: Include ctype.h if __MINGW32__.
5948         (__gnat_readlink): Mark arguments as possibly unused.
5949         (__gnat_symlink): Likewise.
5950         (__gnat_is_symbolic_link): Likewise.
5951         (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
5952         declaration
5953         (__gnat_file_time_name): Don't declare struct stat statbuf when
5954         not needed.
5955         (__gnat_is_absolute_path): Add parenthesis around condition of
5956         'if' statement to avoid warning.
5957         (__gnat_plist_init): Specify void as parameter.
5958         (plist_enter): Likewise.
5959         (plist_leave): Likewise.
5960         (remove_handle): Make static. Initialize prev.
5961
5962 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
5963
5964         * Makefile.in: Disable build of gnatpsta. PR ada/10110.
5965         * cstreams.c (__gnat_full_name): Minor improvements and clean up
5966         of previous change.
5967
5968 2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5969
5970         * tracebak.c (MAX): Avoid redefinition warning.
5971
5972         * init.c [sgi] (__gnat_error_handler): Remove i, unused.
5973         Change msg to const char *.
5974         (__gnat_install_handler): Remove ss, unused.
5975         [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
5976         to const char *.
5977         * cstreams.c (__gnat_full_name): Declare p only when used.
5978         (__gnat_full_name) [sgi] Return buffer.
5979
5980 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
5981
5982         * mingw32.h: New file.
5983         * gnat_wrapper.adb: New file.
5984
5985 2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
5986
5987         * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
5988         string match a pre compiled regular expression (the corresponding
5989         version of the function working on a raw regular expression)
5990         Fix typos in various comments
5991         Update copyright notice in spec
5992
5993 2003-10-21  Gary Dismukes  <dismukes@gnat.com>
5994
5995         * exp_ch3.adb:
5996         (Component_Needs_Simple_Initialization): Return False when the type is a
5997         packed bit array. Revise spec comments to document this case.
5998
5999         * exp_prag.adb:
6000         (Expand_Pragma_Import): Set any expression on the imported object to
6001         empty to avoid initializing imported objects (in particular this
6002         covers the case of zero-initialization of bit arrays).
6003         Update copyright notice.
6004
6005 2003-10-21  Ed Schonberg  <schonberg@gnat.com>
6006
6007         * sem_ch12.adb:
6008         (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
6009         a subunit is missing.
6010         (Instantiate_Subprogram_Body): If body of function is missing, set type
6011         of return expression explicitly in dummy body, to prevent cascaded
6012         errors when a subunit is missing.
6013         Fixes PR 5677.
6014
6015         * sem_ch3.adb:
6016         (Access_Subprogram_Declaration): Verify that return type is valid.
6017         Fixes PR 8693.
6018
6019         * sem_elab.adb:
6020         (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
6021         generic.
6022         Fixes PR 12318.
6023
6024         * sem_util.adb:
6025         (Corresponding_Discriminant): If the scope of the discriminant is a
6026         private type without discriminant, use its full view.
6027         Fixes PR 8247.
6028
6029 2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
6030
6031         * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
6032         3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
6033         3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
6034         55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
6035         56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
6036         59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
6037         5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
6038         5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
6039         5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
6040         5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
6041         5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
6042         5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
6043         5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
6044         5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
6045         7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
6046         a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
6047         a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
6048         a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
6049         bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
6050         erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
6051         err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
6052         g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
6053         g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
6054         g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
6055         g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
6056         g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
6057         g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
6058         gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
6059         g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
6060         g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
6061         i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
6062         prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
6063         prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
6064         s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
6065         s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
6066         s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
6067         s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
6068         s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
6069         s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
6070         s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
6071         s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
6072         socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
6073         s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
6074         s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
6075         s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
6076         styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
6077         s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
6078         tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
6079         vms_conv.ads, vms_conv.adb, vms_data.ads,
6080         vxaddr2line.adb: Files added. Merge with ACT tree.
6081
6082         * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
6083         5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
6084         5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
6085         5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
6086         g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
6087         s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
6088         s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
6089         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
6090         s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
6091         s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
6092
6093         * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
6094         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
6095         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
6096         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
6097         4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
6098         4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
6099         4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
6100         4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
6101         51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
6102         53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
6103         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
6104         5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
6105         5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
6106         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
6107         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
6108         5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
6109         5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
6110         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
6111         5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
6112         5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
6113         5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
6114         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
6115         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
6116         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
6117         5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
6118         5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
6119         5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
6120         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
6121         5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
6122         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
6123         5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
6124         5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
6125         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
6126         5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
6127         6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
6128         7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
6129         7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
6130         a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
6131         a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
6132         a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
6133         a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
6134         a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
6135         ali.adb, ali.ads, ali-util.adb, ali-util.ads,
6136         a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
6137         a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
6138         a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
6139         a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
6140         a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
6141         a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
6142         a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
6143         a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
6144         a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
6145         a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
6146         a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
6147         a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
6148         atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
6149         a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
6150         a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
6151         bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
6152         checks.adb, checks.ads, cio.c, comperr.adb,
6153         comperr.ads, csets.adb, cstand.adb, cstreams.c,
6154         debug_a.adb, debug_a.ads, debug.adb, decl.c,
6155         einfo.adb, einfo.ads, errout.adb, errout.ads,
6156         eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
6157         expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
6158         exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
6159         exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
6160         exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
6161         exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
6162         exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
6163         exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
6164         exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
6165         fe.h, fmap.adb, fmap.ads, fname.adb,
6166         fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
6167         freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
6168         g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
6169         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
6170         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
6171         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
6172         g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
6173         g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
6174         g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
6175         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
6176         g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
6177         g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
6178         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
6179         g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
6180         gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
6181         gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
6182         gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
6183         gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
6184         gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
6185         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
6186         g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
6187         g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
6188         g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
6189         g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
6190         g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
6191         g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
6192         g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
6193         i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
6194         i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
6195         inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
6196         itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
6197         layout.adb, lib.adb, lib.ads, lib-list.adb,
6198         lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
6199         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
6200         link.c, live.adb, make.adb, make.ads,
6201         Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
6202         mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
6203         mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
6204         misc.c, mkdir.c, mlib.adb, mlib.ads,
6205         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
6206         mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
6207         namet.adb, namet.ads, namet.h, nlists.ads,
6208         nlists.h, nmake.adt, opt.adb, opt.ads,
6209         osint.adb, osint.ads, osint-b.adb, osint-c.adb,
6210         par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
6211         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
6212         par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
6213         par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
6214         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
6215         prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
6216         prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
6217         prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
6218         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
6219         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
6220         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
6221         prj-util.adb, prj-util.ads, raise.c, raise.h,
6222         repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
6223         rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
6224         s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
6225         s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
6226         scans.ads, scn.adb, scn.ads, s-crc32.adb,
6227         s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
6228         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
6229         sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
6230         sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
6231         sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
6232         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
6233         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
6234         sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
6235         sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
6236         sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
6237         sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
6238         sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
6239         s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
6240         s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
6241         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
6242         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
6243         s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
6244         s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
6245         s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
6246         sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
6247         sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
6248         sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
6249         s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
6250         s-memory.adb, s-memory.ads, snames.adb, snames.ads,
6251         snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
6252         s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
6253         s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
6254         s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
6255         s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
6256         s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
6257         s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
6258         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
6259         s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
6260         s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
6261         s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
6262         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
6263         s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
6264         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
6265         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
6266         s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
6267         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
6268         stringt.adb, stringt.ads, stringt.h, style.ads,
6269         stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
6270         s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
6271         s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
6272         switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
6273         s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
6274         table.adb, table.ads, targparm.adb, targparm.ads,
6275         targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
6276         trans.c, tree_io.adb, treepr.adb, treeprs.adt,
6277         ttypes.ads, types.ads, types.h, uintp.adb,
6278         uintp.ads, uintp.h, uname.adb, urealp.adb,
6279         urealp.ads, urealp.h, usage.adb, utils2.c,
6280         utils.c, validsw.adb, validsw.ads, widechar.adb,
6281         xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
6282         xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
6283         einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
6284         gnatvsn.ads: Merge with ACT tree.
6285
6286         * gnatvsn.adb: Rewritten in a simpler and more efficient way.
6287
6288 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
6289
6290         * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
6291         (gnat_ug_vmx.info): Likewise.
6292         (gnat_ug_vxw.info): Likewise.
6293         (gnat_ug_wnt.info): Likewise.
6294         (gnat_rm.info): Likewise.
6295         (gnat-style.info): Likewise.
6296
6297         * Make-lang.in (ada.install-info): Remove target.
6298         (info): New target.
6299         (install-info): Likewise.
6300         (gnat_ug_unx.info): Simplify rule.
6301         (gnat_ug_vmx.info): Likewise.
6302         (gnat_ug_vxw.info): Likewise.
6303         (gnat_ug_wnt.info): Likewise.
6304         (gnat_rm.info): Likewise.
6305         (gnat-style.info): Likewise.
6306
6307 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
6308
6309         * Make-lang.in: Replace uses of $(target_alias) with
6310         $(target_noncanonical).
6311         * ada/Makefile.in: Remove unused mention of $(target_alias).
6312
6313 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
6314
6315         * Make-lang.in (ada.info): Replace with ...
6316         (info): ... this.
6317         (ada.dvi): Replace with ...
6318         (dvi): ... this.
6319
6320 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
6321
6322         * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
6323         initialize dconstp5 and dconstmp5.
6324
6325 2003-09-28  Richard Henderson  <rth@redhat.com>
6326
6327         * trans.c (tree_transform): Update call to expand_asm_operands.
6328
6329 2003-09-21  Richard Henderson  <rth@redhat.com>
6330
6331         * trans.c, utils.c: Revert.
6332
6333 2003-09-21  Richard Henderson  <rth@redhat.com>
6334
6335         * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
6336         change to const.
6337
6338 2003-09-04  Michael Matz  <matz@suse.de>
6339
6340         * misc.c: Include "target.h".
6341         * Make-lang.in (misc.o): Add dependency on target.h.
6342
6343 2003-09-03  DJ Delorie  <dj@redhat.com>
6344
6345         * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
6346         hook.
6347
6348 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
6349
6350         * Makefile.in: Update substitutions to match changes to
6351         configure.  Use include directives instead of @-insertions
6352         to read in host and target fragments.  Add a rule to
6353         regenerate ada/Makefile.
6354
6355 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
6356
6357         * lang-options.h: Remove.
6358         * lang.opt: Add help text.
6359
6360 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
6361
6362         * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
6363         calls.
6364
6365 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
6366
6367         * misc.c (gnat_handle_option): Don't handle filenames.
6368
6369 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
6370
6371         * Make-lang.in: Replace PWD with PWD_COMMAND.
6372         * Makefile.adalib: Likewise.
6373         * Makefile.in: Likewise.
6374
6375 2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
6376
6377         * misc.c (gnat_argv): Revert last change.
6378         (gnat_handle_option, gnat_init_options): Copy arguments.
6379
6380 2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
6381
6382         * misc.c (gnat_argv): Make const.
6383
6384 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
6385
6386         * misc.c (save_argc, save_argv): Keep non-static!
6387
6388 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
6389
6390         * misc.c (save_argc, save_argv): Make static.
6391         (gnat_init_options): New prototype.
6392         (gnat_init_options): Update.
6393
6394 2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
6395
6396         * gnat_ug.texi: Remove unlikely characters from @vars.
6397         * gnat_ug_vms.texi: Regenerate.
6398
6399 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
6400
6401         * misc.c (record_code_position): Adjust emit_note call.
6402
6403 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
6404
6405         * misc.c (gnat_handle_option): Don't check for missing arguments.
6406
6407 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
6408
6409         * utils.c (end_subprog_body): Adjust expand_function_end call.
6410
6411 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
6412
6413         * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
6414         Bind_Main_Program.
6415
6416 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
6417
6418         * lang.opt: Declare Ada.
6419         * misc.c (gnat_init_options): Update.
6420
6421 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
6422
6423         * utils.c (begin_subprog_body): Adjust init_function_start call.
6424
6425 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
6426
6427         * Make-lang.in: Update to use options.c and options.h.
6428         * misc.c: Include options.h not aoptions.h.
6429         (gnat_handle_option): Abort on unrecognized switch.
6430         (gnat_init_options): Request Ada switches.
6431
6432 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
6433
6434         * lang.opt: Add -Wall.
6435         * misc.c (gnat_handle_option): Handle it.
6436
6437 2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
6438
6439         * misc.c (gnat_handle_option): Fix warnings.
6440
6441 2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
6442
6443         * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
6444
6445 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
6446
6447         * Make-lang.in: Update to handle command-line options.
6448         * lang.opt: New file.
6449         * misc.c: Include aoptions.h.
6450         (cl_options_count, cl_options): Remove.
6451         (gnat_handle_option): New.
6452         (gnat_decode_option): Remove.
6453         (LANG_HOOKS_DECODE_OPTION): Remove.
6454         (LANG_HOOKS_HANDLE_OPTION): Override.
6455
6456 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
6457
6458         * init.c, misc.c, trans.c, utils.c: Remove dead code.
6459
6460 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
6461
6462         * Makefile.in: Replace "host_canonical" with "host" for autoconf
6463         substitution.
6464
6465 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
6466
6467         * Make-lang.in: Update.
6468         * misc.c: Include opts.h. Define cl_options_count and cl_options.
6469
6470 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
6471
6472         * misc.c (gnat_init_options): Update.
6473
6474 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
6475
6476         * Make-lang.in (ada/b_gnatb.o-warn): Remove.
6477         * bindgen.adb (Gen_Main_C): Mark ensure_reference with
6478         __attribute__ ((__unused__)).
6479
6480 2003-06-05  Jan Hubicka  <jh@suse.cz>
6481
6482         * Make-lang.in:  Add support for stageprofile and stagefeedback
6483
6484 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
6485
6486         * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
6487         (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
6488
6489 2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
6490
6491         * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
6492         Remove non-VMS directive.
6493         (Switches for gnatlbr, Optimization Levels): Remove non-VMS
6494         alternatives.
6495         (Examples of gnatls Usage): Remove VMS alternative.
6496
6497 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
6498
6499         PR ada/9953:
6500         * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
6501         and turn ZCX_By_Default back to False since the underlying support
6502         is not quite there yet.
6503
6504 2003-06-01  Andreas Jaeger  <aj@suse.de>
6505
6506         * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
6507         and ROUND_TYPE_SIZE_UNIT.
6508
6509 2003-05-22   Geert Bosch <bosch@gnat.com>
6510
6511         * gnat_rm.texi : Remove reference to Ada Core Technologies.
6512
6513 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
6514
6515         * trans.c (tree_transform): Use location_t and input_location
6516         directly.
6517         (build_unit_elab): Likewise.
6518         * utils.c (create_label_decl): Likewise.
6519
6520 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
6521
6522         * trans.c (tree_transform, build_unit_elab,
6523         set_lineno): Rename lineno to input_line.
6524         * utils.c (pushdecl, create_label_decl, begin_subprog_body,
6525         end_subprog_body): Likewise.
6526         * utils2.c (build_call_raise): Likewise.
6527
6528 2003-05-01  Laurent Guerby <guerby@acm.org>
6529
6530         PR ada/10546
6531         * 5iosinte.ads: Increase pthread_cond_t size to match recent
6532         LinuxThread and NPTL version, merge from ACT.
6533
6534 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
6535
6536         * utils.c (convert): No need to clear TREE_CST_RTL.
6537
6538 2003-04-23   Geert Bosch <bosch@gnat.com>
6539
6540         * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
6541         1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
6542         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
6543         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
6544         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
6545         4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
6546         4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
6547         4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
6548         4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
6549         4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
6550         4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
6551         4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
6552         52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
6553         5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
6554         5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
6555         5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
6556         5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
6557         5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
6558         5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
6559         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
6560         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
6561         5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
6562         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
6563         5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
6564         5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
6565         5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
6566         5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
6567         5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
6568         5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
6569         5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
6570         5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
6571         5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
6572         5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
6573         5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
6574         5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
6575         5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
6576         5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
6577         5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
6578         5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
6579         5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
6580         5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
6581         5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
6582         5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
6583         5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
6584         6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
6585         7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
6586         7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
6587         9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
6588         a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
6589         a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
6590         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
6591         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
6592         a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
6593         a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
6594         a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
6595         a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
6596         a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
6597         a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
6598         a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
6599         a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
6600         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
6601         a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
6602         a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
6603         a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
6604         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
6605         a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
6606         a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
6607         a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
6608         a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
6609         a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
6610         a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
6611         a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
6612         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
6613         a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
6614         a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
6615         a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
6616         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
6617         a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
6618         a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
6619         a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
6620         a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
6621         a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
6622         a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
6623         a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
6624         a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
6625         a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
6626         a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
6627         a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
6628         a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
6629         a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
6630         a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
6631         a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
6632         a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
6633         a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
6634         a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
6635         a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
6636         a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
6637         a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
6638         a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
6639         a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
6640         a-wttest.ads, ada-tree.h, ada.ads, ada.h,
6641         adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
6642         ali.adb, ali.ads, alloc.ads, argv.c,
6643         atree.adb, atree.ads, atree.h, aux-io.c,
6644         back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
6645         binde.adb, binde.ads, binderr.adb, binderr.ads,
6646         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
6647         butil.adb, butil.ads, cal.c, calendar.ads,
6648         casing.adb, casing.ads, ceinfo.adb, checks.adb,
6649         checks.ads, cio.c, comperr.adb, comperr.ads,
6650         config-lang.in, csets.adb, csets.ads, csinfo.adb,
6651         cstand.adb, cstand.ads, cuintp.c, debug.adb,
6652         debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
6653         dec-io.ads, dec.ads, deftarg.c, directio.ads,
6654         einfo.adb, einfo.ads, elists.adb, elists.ads,
6655         elists.h, errno.c, errout.adb, errout.ads,
6656         eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
6657         exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
6658         exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
6659         exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
6660         exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
6661         exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
6662         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
6663         exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
6664         exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
6665         exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
6666         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
6667         exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
6668         exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
6669         exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
6670         exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
6671         fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
6672         fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
6673         freeze.adb, freeze.ads, frontend.adb, frontend.ads,
6674         g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
6675         g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
6676         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
6677         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
6678         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
6679         g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
6680         g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
6681         g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
6682         g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
6683         g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
6684         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
6685         g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
6686         g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
6687         g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
6688         g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
6689         g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
6690         g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
6691         g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
6692         g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
6693         g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
6694         g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
6695         g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
6696         get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
6697         gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
6698         gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
6699         gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
6700         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
6701         gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
6702         gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
6703         gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
6704         hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
6705         i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
6706         i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
6707         i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
6708         i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
6709         i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
6710         i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
6711         inline.adb, inline.ads, interfac.ads, ioexcept.ads,
6712         itypes.adb, itypes.ads, krunch.adb, krunch.ads,
6713         layout.adb, layout.ads, lib-list.adb, lib-load.adb,
6714         lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
6715         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
6716         lib.adb, lib.ads, live.adb, live.ads,
6717         machcode.ads, make.adb, make.ads, makeusg.adb,
6718         makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
6719         mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
6720         memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
6721         mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
6722         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
6723         mlib.ads, namet.adb, namet.ads, nlists.adb,
6724         nlists.ads, opt.adb, opt.ads, osint-b.adb,
6725         osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
6726         osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
6727         osint.ads, output.adb, output.ads, par-ch10.adb,
6728         par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
6729         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
6730         par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
6731         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
6732         par-tchk.adb, par-util.adb, par.adb, par.ads,
6733         prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
6734         prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
6735         prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
6736         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
6737         prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
6738         prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
6739         prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
6740         prj.adb, prj.ads, repinfo.adb, repinfo.ads,
6741         restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
6742         rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
6743         s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
6744         s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
6745         s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
6746         s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
6747         s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
6748         s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
6749         s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
6750         s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
6751         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
6752         s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
6753         s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
6754         s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
6755         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
6756         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
6757         s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
6758         s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
6759         s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
6760         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
6761         s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
6762         s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
6763         s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
6764         s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
6765         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
6766         s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
6767         s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
6768         s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
6769         s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
6770         s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
6771         s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
6772         s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
6773         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
6774         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
6775         s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
6776         s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
6777         s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
6778         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
6779         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
6780         s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
6781         s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
6782         s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
6783         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
6784         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
6785         s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
6786         s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
6787         s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
6788         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
6789         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
6790         s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
6791         s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
6792         s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
6793         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
6794         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
6795         s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
6796         s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
6797         s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
6798         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
6799         s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
6800         s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
6801         s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
6802         s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
6803         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
6804         s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
6805         s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
6806         s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
6807         s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
6808         s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
6809         s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
6810         s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
6811         s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
6812         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
6813         s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
6814         s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
6815         s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
6816         s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
6817         s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
6818         s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
6819         s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
6820         s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
6821         s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
6822         s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
6823         s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
6824         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
6825         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
6826         s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
6827         s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
6828         s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
6829         s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
6830         s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
6831         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
6832         s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
6833         s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
6834         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
6835         s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
6836         scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
6837         sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
6838         sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
6839         sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
6840         sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
6841         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
6842         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
6843         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
6844         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
6845         sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
6846         sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
6847         sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
6848         sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
6849         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
6850         sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
6851         sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
6852         sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
6853         sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
6854         sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
6855         sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
6856         sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
6857         snames.ads, sprint.adb, sprint.ads, stand.adb,
6858         stand.ads, stringt.adb, stringt.ads, style.adb,
6859         style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
6860         switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
6861         switch-m.ads, switch.adb, switch.ads, system.ads,
6862         table.adb, table.ads, targparm.adb, targparm.ads,
6863         tbuild.adb, tbuild.ads, text_io.ads, trans.c,
6864         tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
6865         tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
6866         ttypef.ads, ttypes.ads, types.adb, types.ads,
6867         uintp.adb, uintp.ads, uname.adb, uname.ads,
6868         unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
6869         usage.adb, usage.ads, validsw.adb, validsw.ads,
6870         widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
6871         xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
6872         xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
6873         formatting and other trivial changes from ACT.
6874
6875 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
6876
6877         * gigi.h, utils2.c (build_constructor):
6878         Rename gnat_build_constructor. Use build_constructor.
6879         * decl.c (gnat_to_gnu_entity)
6880         * trans.c (tree_transform, pos_to_constructor, extract_values)
6881         * ada/utils.c (build_template, convert_to_fat_pointer, convert)
6882         (unchecked_convert)
6883         * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
6884         (fill_vms_descriptor):
6885         Update to match.
6886
6887 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
6888
6889         * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
6890         * misc.c (gnat_tree_size): New function.
6891         (LANG_HOOKS_TREE_SIZE): Override.
6892
6893 2003-04-03  Jason Merrill  <jason@redhat.com>
6894
6895         * misc.c (gnat_adjust_rli): #if 0.
6896
6897 2003-03-31   Geert Bosch <bosch@gnat.com>
6898
6899         PR ada/10020
6900         * link.c : Fix misspelled "const" keyword
6901
6902 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
6903
6904         PR c++/7086
6905         * utils2.c: Adjust calls to put_var_into_stack.
6906
6907 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
6908
6909         * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
6910
6911 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
6912
6913         * misc.c (gnat_init): Update for new prototype.
6914
6915 2003-03-05  Olivier Hainque  <hainque@gnat.com>
6916
6917         ada/9961
6918         * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
6919         warning, and fix return type for the IN_RTS && !SJLJ case.
6920
6921 2003-03-04  Tom Tromey  <tromey@redhat.com>
6922
6923         * Make-lang.in (ada.tags): New target.
6924
6925 2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
6926
6927         ada/9911
6928         * a-except.adb (Unwind_RaiseException): Import a GNAT specific
6929         wrapper, which name remains constant whatever underlying GCC
6930         scheme.
6931
6932         * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
6933         the stable interface needed for a-except.
6934
6935 2003-03-02  Andreas Jaeger  <aj@suse.de>
6936
6937         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
6938         gnat_ug_wnt.texi: Regenerate.
6939
6940 2003-03-02  Laurent Guerby <guerby@acm.org>
6941
6942         * Makefile.in (install-gnatlib): Match previous change there
6943         so it works.
6944
6945 2003-02-28  Andreas Schwab  <schwab@suse.de>
6946
6947         * Make-lang.in (install-gnatlib): Change to ada directory before
6948         running make instead of using ada/Makefile directly.
6949
6950 2003-02-18  Ben Elliston  <bje@redhat.com>
6951
6952         Part of fix for PR ada/9406
6953         * gnat_ug.texi (Binder output file): Grammar fix.
6954
6955 2003-02-18  Ben Elliston  <bje@redhat.com>
6956
6957         PR other/7350
6958         * 5qtaprop.adb (Sleep): Fix typo in comment.
6959
6960 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
6961
6962         * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
6963         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
6964         gnat_ug_wnt.texi: Regenerate.
6965
6966 2003-02-03  Christian Cornelssen <ccorn@cs.tu-berlin.de>
6967
6968         * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
6969         be created if necessary.
6970         (ada.install-common): Let $(DESTDIR)$(bindir) be created
6971         if necessary.  Remove erroneous and redundant gnatchop
6972         installation commands.  Test for gnatdll before attempting
6973         to install it.
6974         (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
6975         and gnatdll from all plausible locations.
6976
6977 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
6978
6979         * utils2.c (build_unary_op): Don't check flag_volatile.
6980         * gnat_ug.texi: Remove -fvolatile from example.
6981         * gnat_ug_vxw.texi: Likewise.
6982
6983 2003-01-29  Laurent Guerby <guerby@acm.org>
6984
6985         PR ada/8344
6986         * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
6987         * Makefile.in: match previous change.
6988         * Make-lang.in: match previous change.
6989
6990 2003-01-29      Joel Sherrill <joel@OARcorp.com>
6991
6992         * 5rosinte.ads: Add SIGXCPU.
6993         * 5rtpopsp.adb: New file.
6994         * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
6995         * Makefile.in: Recognize more RTEMS targets and add the RTEMS
6996         specific file 5rtpopsp.adb.
6997         * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
6998         is likely needed for all newlib targets.
6999         * init.c: Add RTEMS specific version of __gnat_initialize().
7000
7001 2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7002
7003         * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
7004
7005 2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7006
7007         * init.c (__gnat_error_handler): Make msg const.
7008
7009         * gmem.c (convert_addresses): Move declaration ...
7010         * adaint.h: ... here.
7011         * adaint.c (convert_addresses): Adapt addrs type to match
7012         prototype.
7013
7014         * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
7015
7016 2003-01-24  Andreas Schwab  <schwab@suse.de>
7017
7018         * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
7019         size_t to avoid warning.
7020
7021 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
7022
7023         * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
7024
7025 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
7026
7027         * gnat_rm.texi: Remove RCS version number.
7028
7029         * ada-tree.h (union lang_tree_node): Add chain_next option.
7030
7031 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
7032
7033         * Make-lang.in (ada.install-info, ada.install-common,
7034         ada.uninstall): Prepend $(DESTDIR) to the destination
7035         directory in all (un)installation commands.
7036         * Makefile.in (install-gnatlib, install-rts): Ditto.
7037
7038 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
7039
7040         * gnat_rm.texi, gnat_ug.texi: Use @copying.
7041         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
7042         gnat_ug_wnt.texi: Regenerate.
7043
7044 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
7045
7046         * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
7047         only.
7048         * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
7049         $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
7050         $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
7051         ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
7052         ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
7053         $(srcdir)/doc/include/gcc-common.texi.
7054
7055 2002-12-15   Geert Bosch <bosch@gnat.com>
7056
7057         * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
7058
7059 2002-12-14   Geert Bosch <bosch@gnat.com>
7060
7061         * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
7062         case of a body created for a Renaming_As_Body, on which
7063         conformance checks are not performed. Fixes PR ada/5690.
7064
7065 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
7066
7067         * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
7068         utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
7069         not already included.
7070         * Make-lang.in: Update dependencies.
7071
7072 2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
7073         * adaint.c (__gnat_tmp_name): Better, but good enough for now,
7074         solution to buffer overflow bug on GNU/Linux.
7075
7076 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
7077         Closes PR ada/5856 and PR ada/6919 !
7078         * bindgen.adb: Remove all references to Public_Version.
7079         * comperr.adb: Remove all references to Public_Version and
7080         GNATPRO_Version; correct bug reporting instructions.
7081         * comperr.ads: Change to match bug box.
7082         * gnatvsn.ads: Remove all references to Public version and
7083         GNATPRO version.
7084
7085 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
7086         PR ada/6919
7087         * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
7088         GNU/Linux.
7089
7090         PR ada/6558
7091         * config-lang.in: Remove diff_excludes.
7092
7093 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
7094         PR ada/8358
7095         * trans.c (gnu_pending_elaboration_lists): New GC root.
7096         (build_unit_elab): Use..
7097
7098 2002-10-30   Geert Bosch <bosch@gnat.com>
7099         PR ada/6558
7100         * misc.c : Include optabs.h
7101
7102         * Make-lang.in (misc.o): Add dependency on optabs.h
7103
7104 2002-10-29   Geert Bosch <bosch@gnat.com>
7105         PR ada/6558
7106         * Make-lang.in (gnatbind): Depend on CONFIG_H
7107
7108 2002-10-29  Geert bosch  <bosch@gnat.com>
7109         PR ada/6558
7110         * misc.c: Unrevert misc.c (1.13)
7111
7112 2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
7113
7114         * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
7115         maintainership comments.
7116
7117 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
7118         PR ada/5904
7119         * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
7120         5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
7121         5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
7122         7staprop.adb: Correct statements in comments about
7123         maintainership of GNAT.
7124
7125         PR ada/5904
7126         * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
7127         gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
7128         osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
7129         osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
7130         s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
7131         s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
7132         sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
7133         switch-c.ads switch-m.adb switch-m.ads: Correct statements in
7134         comments about maintainership of GNAT.
7135
7136         PR ada/6919 (forward port of patch for PR ada/5904)
7137         * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
7138         4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
7139         4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
7140         4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
7141         4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
7142         4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
7143         4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
7144         52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
7145         5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
7146         5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
7147         5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
7148         5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
7149         5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
7150         5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
7151         5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
7152         5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
7153         5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
7154         5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
7155         5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
7156         5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
7157         5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
7158         5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
7159         5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
7160         5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
7161         5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
7162         5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
7163         5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
7164         5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
7165         7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
7166         a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
7167         a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
7168         a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
7169         a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
7170         a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
7171         a-except.adb a-except.ads a-excpol.adb a-exctra.adb
7172         a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
7173         a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
7174         a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
7175         a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
7176         a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
7177         a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
7178         a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
7179         a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
7180         a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
7181         a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
7182         a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
7183         a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
7184         a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
7185         a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
7186         a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
7187         a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
7188         a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
7189         a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
7190         a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
7191         a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
7192         a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
7193         a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
7194         a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
7195         a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
7196         a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
7197         a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
7198         a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
7199         a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
7200         a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
7201         a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
7202         a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
7203         a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
7204         a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
7205         adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
7206         alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
7207         back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
7208         binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
7209         bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
7210         ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
7211         csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
7212         cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
7213         debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
7214         einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
7215         errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
7216         exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
7217         exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
7218         exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
7219         exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
7220         exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
7221         exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
7222         exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
7223         exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
7224         exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
7225         exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
7226         exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
7227         exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
7228         exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
7229         final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
7230         fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
7231         freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
7232         g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
7233         g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
7234         gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
7235         gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
7236         gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
7237         gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
7238         gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
7239         gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
7240         i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
7241         i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
7242         i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
7243         i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
7244         impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
7245         itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
7246         lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
7247         lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
7248         lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
7249         lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
7250         makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
7251         namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
7252         nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
7253         osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
7254         par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
7255         par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
7256         par-endh.adb par-labl.adb par-load.adb par-prag.adb
7257         par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
7258         prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
7259         prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
7260         prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
7261         prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
7262         prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
7263         prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
7264         repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
7265         rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
7266         s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
7267         s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
7268         s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
7269         s-direio.adb s-direio.ads s-except.ads s-exctab.adb
7270         s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
7271         s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
7272         s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
7273         s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
7274         s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
7275         s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
7276         s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
7277         s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
7278         s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
7279         s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
7280         s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
7281         s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
7282         s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
7283         s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
7284         s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
7285         s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
7286         s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
7287         s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
7288         s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
7289         s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
7290         s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
7291         s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
7292         s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
7293         s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
7294         s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
7295         s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
7296         s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
7297         s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
7298         s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
7299         s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
7300         s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
7301         s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
7302         s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
7303         s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
7304         s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
7305         s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
7306         s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
7307         s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
7308         s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
7309         s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
7310         s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
7311         s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
7312         s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
7313         s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
7314         s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
7315         s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
7316         s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
7317         s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
7318         s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
7319         s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
7320         s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
7321         s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
7322         s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
7323         s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
7324         s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
7325         s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
7326         s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
7327         s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
7328         s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
7329         s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
7330         s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
7331         s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
7332         s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
7333         s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
7334         s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
7335         s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
7336         s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
7337         s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
7338         s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
7339         s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
7340         s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
7341         s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
7342         s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
7343         s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
7344         s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
7345         s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
7346         s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
7347         s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
7348         scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
7349         sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
7350         sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
7351         sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
7352         sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
7353         sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
7354         sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
7355         sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
7356         sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
7357         sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
7358         sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
7359         sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
7360         sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
7361         sem_type.adb sem_type.ads sem_util.adb sem_util.ads
7362         sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
7363         sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
7364         sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
7365         sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
7366         snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
7367         stringt.ads stringt.h style.adb style.ads stylesw.adb
7368         stylesw.ads switch.adb switch.ads sysdep.c system.ads
7369         table.adb table.ads targparm.adb targparm.ads targtyps.c
7370         tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
7371         tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
7372         treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
7373         types.adb types.ads types.h uintp.adb uintp.ads uintp.h
7374         uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
7375         usage.ads utils.c utils2.c validsw.adb validsw.ads
7376         widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
7377         xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
7378         xtreeprs.adb: Correct statements in comments about maintainership
7379         of GNAT.
7380
7381 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
7382
7383         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
7384         * Makefile.in (TOOLS_LIBS): Add ../../version.o.
7385         * gnatvsn.ads: Gnat_Version_String is now a function.
7386         * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
7387         copy the C version_string into a String and return it.
7388         * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
7389         gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
7390         Remove pragma Ident (Gnat_Version_String).  If this was the
7391         sole use of package Gnatvsn, remove the with statement too.
7392         * gnat1drv.adb: Tweak -gnatv output.
7393
7394 2002-09-17  Richard Henderson  <rth@redhat.com>
7395
7396         * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
7397         * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
7398         * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
7399         (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
7400         * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
7401         and real_2expN instead of a loop.
7402         * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
7403         (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
7404
7405 2002-08-25  Andre Leis <a.leis@gmx.net>
7406             David Billinghurst (David.Billinghurst@riotinto.com>
7407
7408         * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
7409
7410 2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7411
7412         * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
7413         Remove $(CONFIG_H) dependency.
7414
7415 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
7416
7417         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
7418
7419 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7420
7421         * adadecode.c (ada_demangle): Use xstrdup in lieu of
7422         xmalloc/strcpy.
7423         * misc.c (gnat_decode_option): Likewise.
7424
7425 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
7426
7427         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
7428         function approach did not work well because of a side effect (the
7429         function call could reallocate the table which was being indexed
7430         using its result). Fixes ada/4851. [RESURRECTED]
7431
7432 2002-07-01  Roger Sayle  <roger@eyesopen.com>
7433
7434         * ada/utils.c (builtin_function): Accept an additional parameter.
7435
7436 2002-06-28  Andreas Jaeger  <aj@suse.de>
7437
7438         PR ada/7144
7439         * Makefile.in: Fix typo in comment, patch by Adrian Knoth
7440         <adi@thur.de>.
7441
7442 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7443
7444         * Makefile.in (SHELL): Set to @SHELL@.
7445
7446 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7447
7448         * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
7449         array size calculation.
7450
7451 2002-06-04  Andreas Jaeger  <aj@suse.de>
7452
7453         * Make-lang.in (gnatbind): Readd rule that has been lost in last
7454         patch.
7455
7456 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
7457
7458         Merge from pch-branch:
7459
7460         * config-lang.in (gtfiles): Add ada-tree.h.
7461         * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
7462         (SET_TYPE_MODULUS): New.
7463         (SET_TYPE_INDEX): New.
7464         (SET_TYPE_DIGITS_VALUE): New.
7465         (SET_TYPE_RM_SIZE): New.
7466         (SET_TYPE_UNCONSTRAINED_ARRAY): New.
7467         (SET_TYPE_ADA_SIZE): New.
7468         (SET_TYPE_ACTUAL_BOUNDS): New.
7469         (SET_DECL_CONST_CORRESPONDING_VAR): New.
7470         (SET_DECL_ORIGINAL_FIELD): New.
7471         (TREE_LOOP_ID): Correct typo.
7472         * decl.c: Use new macros.
7473         * utils.c: Include debug.h, use new macros.
7474         * utils2.c: Use new macros.
7475
7476         * ada-tree.h: Update all macros for new tree description.
7477         (struct tree_loop_id): New.
7478         (union lang_tree_node): New.
7479         (struct lang_decl): New.
7480         (struct lang_type): New.
7481         * misc.c (gnat_mark_tree): Delete.
7482         (LANG_HOOKS_MARK_TREE): Delete.
7483         * trans.c (tree_transform): No longer any need to cast
7484         for TREE_LOOP_ID.
7485
7486         * utils.c (struct language_function): New dummy structure.
7487
7488         * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
7489         (misc.o): Likewise.
7490         (utils.o): Likewise; also gtype-ada.h.
7491         * Make-lang.in (gnat1): Add dependency on s-gtype.
7492         (gnatbind): Add dependency on $(CONFIG_H).
7493         * utils.c: Correct last #include.
7494         (stuct e_stack): Remove unnecessary 'static'.
7495         (mark_e_stack): Remove unused prototype.
7496
7497         * scn-nlit.adb: Remove whitespace after version number to
7498         keep lines under 80 chars.
7499         * snames.adb: Likewise.
7500         * treepr.ads: Likewise.
7501
7502         * Makefile.in (decl.o): Include gt-ada-<filename>.h.
7503         (misc.o): Likewise.
7504         (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
7505         * config-lang.in (gtfiles): New.
7506         * decl.c: Use gengtype for roots.
7507         * gigi.h: Use gengtype for roots.
7508         * trans.c: Use gengtype for roots.
7509         * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
7510
7511 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
7512
7513         * misc.c (gnat_init): Adjust setting of internal_error_function.
7514
7515 2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
7516
7517         * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
7518         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
7519         gnat_ug_wnt.texi: Regenerate.
7520
7521 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
7522
7523         * 5ntaprop.adb (with System.OS_Primitives): Remove.
7524
7525         * cstreams.c (max_path_len): Move from here ...
7526         * adaint.c (__gnat_max_path_len): ... to here.
7527         * adaint.c (__gnat_max_path_len): Declare.
7528         * g-dirope.adb (Max_Path): Adjust.
7529         * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
7530         * i-cstrea.ads (max_path_len): Adjust.
7531         * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
7532         * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
7533
7534         * Makefile.in, Make-lang.in: Documentation is now built in
7535         Make-lang.in.  Store Info and generated Texinfo files in the
7536         source directory.
7537         * gnat_ug.texi: Remove CVS keywords, correct version number.
7538         Set file name correctly.
7539
7540         * gnat_ug_*.texi: Add.
7541         * .cvsignore: Ignore generated Texinfo files.
7542
7543 2002-05-30  Zack Weinberg  <zack@codesourcery.com>
7544
7545         * ada.h: Add MI guard macro.
7546         (SUBTYPE): Define constants with an anonymous enum, not static
7547         const variables.
7548         (IN): Cast constants to appropriate type before use.
7549
7550 2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
7551
7552         * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
7553         (experimental)".
7554
7555 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7556
7557         * Make-lang.in (CP, ECHO): Copy from Makefile.in.
7558         (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
7559         (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
7560         (ALL_ADA_CFLAGS): Likewise.
7561         (ADA_INCLUDES): Likewise.
7562         Adapt for new working dir.
7563         (GNATBIND): Use Makefile.in version.
7564         (.SUFFIXES): Copy from Makefile.in.
7565         (ada-warn): Define.
7566         (.adb.o, .ads.o): Copy from Makefile.in.
7567         Added $(OUTPUT_OPTION).
7568         (GNAT1_C_OBJS): Moved from Makefile.in.
7569         Prefix with ada subdir.
7570         (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
7571         (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
7572         Adapt for new working dir.
7573         (EXTRA_GNATBIND_OBJS): Likewise.
7574         (ADA_BACKEND): Moved from Makefile.in.
7575         Renamed to avoid conflict with global BACKEND.
7576         Use that one.
7577         (TARGET_ADA_SRCS): Moved from Makefile.in.
7578         (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
7579         Use ADA_BACKEND.
7580         (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
7581         (ada_extra_files): Moved from Makefile.in.
7582         Prefix with ada subdir.
7583         (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
7584         (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
7585         (ada/nmake.ads): Likewise.
7586         (update-sources): Moved from Makefile.in.
7587         Prefix with ada subdir.
7588         (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
7589         (ADA_TREE_H): Likewise.
7590         (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
7591         (ada/memtrack.o): Likewise.
7592         (ada/adadecode.o): Likewise.
7593         Update dependencies.
7594         (ada/adaint.o): New.
7595         (ada/argv.o): Moved from Makefile.in.
7596         Prefix with ada subdir.
7597         Update dependencies.
7598         (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
7599         (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
7600         (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
7601         Prefix with ada subdir.
7602         (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
7603         (GNAT DEPENDENCIES): Regenerate.
7604         * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
7605         toplevel Makefile.in.
7606         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
7607         (TARGET_ADA_SRCS): Removed.
7608         (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
7609         (GNATBIND_OBJS): Likewise.
7610         (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
7611         (BACKEND): Removed.
7612         (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
7613         (TREE_H): Likewise.
7614         (ada_extra_files): Likewise.
7615         (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
7616         (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
7617         (update-sources): Likewise.
7618         (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
7619         (ADA_TREE_H): Likewise.
7620         (adadecoce.o): Likewise.
7621         (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
7622         (GNAT DEPENDENCIES): Likewise.
7623
7624 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7625
7626         * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
7627         * Makefile.in: Likewise.
7628
7629 2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7630
7631         * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
7632         Restore $(CONFIG_H) and prefix.o dependencies.
7633         (ada.stage[1-4]): Depend on stage?-start.
7634
7635         * Makefile.in (b_gnatb.c): Depend on interfac.o.
7636
7637 2002-05-02  Jim Wilson  <wilson@redhat.com>
7638
7639         * utils.c (finish_record_type): Change record_size to record_type.
7640
7641 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7642
7643         * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
7644         (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
7645         ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
7646
7647 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
7648
7649         * misc.c (gnat_parse_file): Update.
7650
7651 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
7652
7653         * misc.c (gnat_init): Don't set lang_attribute_common.
7654
7655 2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
7656
7657         * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
7658
7659 2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
7660
7661         * gnat_ug.texi: New file.
7662
7663         * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
7664         instead of gfdl.texi
7665
7666         * xgnatug.adb, ug_words: New files.
7667
7668         * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
7669         gnat_rm and gnat-style manuals.
7670
7671 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
7672
7673         * gigi.h (incomplete_type_error): Remove.
7674         * utils.c (incomplete_type_error): Remove.
7675
7676 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
7677
7678         * trans.c (tree_transform): Add has_scope argument to
7679         expand_start_stmt_expr.
7680
7681 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7682
7683         * gigi.h (truthvalue_conversion): Rename.
7684         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
7685         * trans.c (tree_transform): Update.
7686         * utils2.c (truthvalue_conversion): Rename, update.
7687         (build_binary_op, build_unary_op): Update.
7688
7689 2002-04-04  Laurent Guerby  <guerby@acm.org>
7690
7691         * make.adb: Implement -margs, remove restriction about file name placement.
7692         * makeusg.adb: Documentation update.
7693         * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
7694         * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
7695
7696 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7697
7698         * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
7699         (builtin_function): Similarly.
7700
7701 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
7702
7703         * decl.c (gnat_to_gnu_entity): Update.
7704         * gigi.h (mark_addressable): Rename.
7705         * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
7706         * trans.c (tree_transform): Update.
7707         * utils.c (create_var_decl): Update.
7708         * util2.c (build_binary_op, build_unary_op,
7709         fill_vms_descriptor): Update.
7710         (mark_addressable): Rename, update.
7711
7712 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
7713
7714         * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
7715         Rename.
7716         * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
7717         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
7718         * trans.c (tree_transform, convert_with_check): Update.
7719         * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
7720         Rename.
7721
7722 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
7723
7724         * gigi.h (finish_incomplete_decl): Rename.
7725         * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
7726         * utils.c (gnat_init_decl_processing): Don't set hook.
7727         (finish_incomplete_decl): Rename.
7728
7729 2002-03-29  Andreas Schwab  <schwab@suse.de>
7730
7731         * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
7732         directory.
7733
7734 2001-03-28  Robert Dewar <dewar@gnat.com>
7735
7736         * checks.ads:
7737         (Remove_Checks): New procedure
7738
7739         * checks.adb:
7740         (Remove_Checks): New procedure
7741
7742         * exp_util.adb:
7743         Use new Duplicate_Subexpr functions
7744         (Duplicate_Subexpr_No_Checks): New procedure
7745         (Duplicate_Subexpr_No_Checks_Orig): New procedure
7746         (Duplicate_Subexpr): Restore original form (checks duplicated)
7747         (Duplicate_Subexpr): Call Remove_Checks
7748
7749         * exp_util.ads:
7750         (Duplicate_Subexpr_No_Checks): New procedure
7751         (Duplicate_Subexpr_No_Checks_Orig): New procedure
7752         Add 2002 to copyright notice
7753
7754         * sem_util.adb: Use new Duplicate_Subexpr functions
7755
7756         * sem_eval.adb:
7757         (Eval_Indexed_Component): This is the place to call
7758         Constant_Array_Ref and to replace the value. We simply merge
7759         the code of this function in here, since it is now no longer
7760         used elsewhere. This fixes the problem of the back end not
7761         realizing we were clever enough to see that this was
7762         constant.
7763         (Expr_Val): Remove call to Constant_Array_Ref
7764         (Expr_Rep_Val): Remove call to Constant_Array_Ref
7765         Minor reformatting
7766         (Constant_Array_Ref): Deal with string literals (patch
7767         suggested by Zack Weinberg on the gcc list)
7768
7769 2001-03-28  Ed Schonberg <schonber@gnat.com>
7770
7771         * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
7772         Duplicate_Subexpr_Move_Checks.
7773
7774         * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
7775         Duplicate_Subexpr_Move_Checks.
7776
7777         * sem_eval.adb: (Constant_Array_Ref): Verify that constant
7778         value of array exists before retrieving it (it may a private
7779         protected component in a function).
7780
7781 2002-03-28   Geert Bosch <bosch@gnat.com>
7782
7783         * prj-pp.adb : New file.
7784
7785         * prj-pp.ads : New file.
7786
7787 2002-03-28  Andreas Jaeger  <aj@suse.de>
7788
7789         * Makefile.in (stamp-sdefault): Fix path for Makefile.
7790
7791 2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
7792
7793         * misc.c (gnat_expand_expr): Move prototype.
7794
7795 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
7796
7797         * misc.c (insert_default_attributes): Remove.
7798
7799 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
7800
7801         * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
7802         (gnat_init): Don't set hook.
7803         (gnat_expand_expr): Fix prototype.
7804
7805 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
7806
7807         * misc.c (ggc_p): Remove.
7808
7809 2002-03-27  Geert Bosch  <bosch@gnat.com>
7810
7811         * prj-makr.ads, prj-makr.adb : New files.
7812
7813 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
7814
7815         * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
7816         (lang_mark_tree): Make static, rename.
7817
7818 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
7819
7820         * misc.c (maybe_build_cleanup): Remove.
7821
7822 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
7823
7824         * gigi.h (yyparse): Remove.
7825
7826 2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
7827
7828         * gnat_rm.texi: Sync with ACT version.
7829           (From Ben Brosgol <brosgol@gnat.com>)
7830
7831 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
7832
7833         * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
7834         (gnat_init): Remove old hook.
7835
7836 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
7837
7838         * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
7839         (yyparse): Rename gnat_parse_file.
7840
7841 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
7842
7843         Delete all lines containing "$Revision:".
7844         * xeinfo.adb: Don't look for revision numbers.
7845         * xnmake.adb: Likewise.
7846         * xsinfo.adb: Likewise.
7847         * xsnames.adb: Likewise.
7848         * xtreeprs.adb: Likewise.
7849
7850 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7851
7852         * misc.c (gnat_tree_code_type, gnat_tree_code_length,
7853         gnat_tree_code_name): Delete.
7854         (tree_code_type, tree_code_length, tree_code_name): Define.
7855         (gnat_init): Don't try to copy into the various tree_code
7856         arrays.
7857
7858 2002-03-11  Richard Henderson  <rth@redhat.com>
7859
7860         * Makefile.in (.NOTPARALLEL): Add fake tag.
7861
7862 2002-03-07  Geert Bosch  <bosch@gnat.com>
7863
7864         * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
7865         s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
7866         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
7867         switch-m.adb, switch-m.ads : New files.
7868
7869 2002-03-07  Geert Bosch  <bosch@gnat.com>
7870
7871         * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
7872         4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
7873         4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
7874         4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
7875         5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
7876         5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
7877         5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
7878         5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
7879         5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
7880         5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
7881         5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
7882         5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
7883         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
7884         5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
7885         5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
7886         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
7887         5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
7888         5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
7889         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
7890         5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
7891         7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
7892         Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
7893         a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
7894         a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
7895         a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
7896         a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
7897         a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
7898         a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
7899         a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
7900         adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
7901         atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
7902         bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
7903         csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
7904         einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
7905         eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
7906         exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
7907         exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
7908         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
7909         exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
7910         exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
7911         expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
7912         freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
7913         g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
7914         g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
7915         g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
7916         g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
7917         g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
7918         g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
7919         gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
7920         gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
7921         gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
7922         i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
7923         impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
7924         lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
7925         lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
7926         memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
7927         mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
7928         nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
7929         output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
7930         par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
7931         prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
7932         prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
7933         prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
7934         rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
7935         s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
7936         s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
7937         s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
7938         s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
7939         s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
7940         s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
7941         s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
7942         s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
7943         s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
7944         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
7945         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
7946         s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
7947         s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
7948         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
7949         s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
7950         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
7951         sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
7952         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
7953         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
7954         sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
7955         sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
7956         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
7957         sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
7958         sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
7959         sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
7960         snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
7961         stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
7962         table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
7963         tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
7964         treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
7965         types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
7966         utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
7967         xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
7968
7969         * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
7970         g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
7971         mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
7972         osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
7973
7974         * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
7975         5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
7976
7977         * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
7978         to mdll-fil.ad[bs] and mdll-util.ad[bs]
7979
7980         * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
7981         from mdllfile.ad[bs] and mdlltool.ad[bs]
7982
7983 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7984
7985         * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
7986         lieu of explicit sizeof/sizeof.
7987
7988 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
7989
7990         * misc.c (copy_lang_decl): Remove.
7991
7992 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
7993
7994         * misc.c: Delete traditional-mode-related code copied from the
7995         C front end but not used, or used only to permit the compiler
7996         to link.
7997
7998 2002-02-07  Richard Henderson  <rth@redhat.com>
7999
8000         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
8001         * adaint.h (__gnat_to_gm_time): Update prototype.
8002
8003 2002-01-30  Richard Henderson  <rth@redhat.com>
8004
8005         * trans.c (tree_transform) [N_Loop_Statement]: Use
8006         expand_exit_loop_top_cond.
8007
8008 2001-12-23  Richard Henderson  <rth@redhat.com>
8009
8010         * utils.c (end_subprog_body): Push GC context around
8011         rest_of_compilation for nested functions.
8012
8013 2001-12-23  Richard Henderson  <rth@redhat.com>
8014
8015         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
8016
8017 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
8018
8019         * gnat-style.texi (Declarations and Types): Remove ancient style
8020         rule which was mandated by code generation issues.
8021
8022         * gnat-style.texi (header): Add @dircategory, @direntry.
8023         (title page): Remove date.
8024         (general) Add @./@: where approriate, and two spaces after the
8025         full stop at the end of a sentence.  Use @samp markup when
8026         referring concrete lexical entities (keywords, attribute names
8027         etc.), and @syntax for ARM grammar elements. Use @r for English
8028         text in comments.  Use @emph for emphasis.  Change "if-statements"
8029         etc. to "if statements" (without @samp). Break long lines.  Make
8030         casing of section names consistent.
8031         (Identifiers): Use @samp markup for variable names.
8032         (Comments): Use @samp markup for comment characters. Line-end
8033         comments may follow any Ada code, not just statements.  Fix
8034         misspelling of "Integer" as "integer".
8035         (Loop statements): Do not use variable name "I", use "J".
8036         (Subprogram Declarations): Document alignment.
8037         (Subprogram Bodies, Block statements): Document empty line before
8038         "begin".
8039
8040 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
8041
8042         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
8043         function approach did not work well because of a side effect (the
8044         function call could reallocate the table which was being indexed
8045         using its result). Fixes ada/4851.
8046
8047 2001-12-19  Robert Dewar <dewar@gnat.com>
8048
8049         * bindgen.adb: Minor reformatting
8050
8051         * cstand.adb: Minor reformatting
8052
8053         * fmap.adb: Minor reformatting
8054         Change name from Add for Add_To_File_Map (Add is much too generic)
8055         Change Path_Name_Of to Mapped_Path_Name
8056         Change File_Name_Of to Mapped_File_Name
8057         Fix copyright dates in header
8058
8059         * fmap.ads:
8060         Change name from Add for Add_To_File_Map (Add is much too generic)
8061         Change Path_Name_Of to Mapped_Path_Name
8062         Change File_Name_Of to Mapped_File_Name
8063         Fix copyright dates in header
8064
8065         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
8066         Add use clause for Fmap.
8067
8068         * make.adb: Minor reformatting
8069
8070         * osint.adb: Minor reformatting.  Change of names in Fmap.
8071         Add use clause for Fmap.
8072
8073         * prj-env.adb: Minor reformatting
8074
8075         * prj-env.ads: Minor reformatting
8076
8077         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
8078         error found (there were odd exceptions to this general rule in
8079         -gnatec/-gnatem processing)
8080
8081 2001-12-19  Olivier Hainque <hainque@gnat.com>
8082
8083         * raise.c (__gnat_eh_personality): Exception handling personality
8084         routine for Ada.  Still in rough state, inspired from the C++ version
8085         and still containing a bunch of debugging artifacts.
8086         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
8087         inspired from the C++ library.
8088
8089         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
8090         exception handling integration.
8091
8092 2001-12-19  Arnaud Charlet <charlet@gnat.com>
8093
8094         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
8095         (HIE_SOURCES): Add s-secsta.ad{s,b}.
8096         (HIE_OBJS): Add s-fat*.o
8097         (RAVEN_SOURCES): Remove files that are no longer required. Add
8098         interrupt handling files.
8099         (RAVEN_MOD): Removed, no longer needed.
8100
8101 2001-12-19  Robert Dewar <dewar@gnat.com>
8102
8103         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
8104         Add 2001 to copyright date
8105
8106         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
8107         need to force universal inlining for these cases.
8108
8109 2001-12-19  Arnaud Charlet <charlet@gnat.com>
8110
8111         * s-taprob.adb: Minor clean ups so that this unit can be used in
8112         Ravenscar HI.
8113
8114         * exp_ch7.adb: Allow use of secondary stack in HI mode.
8115         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
8116
8117 2001-12-19  Vincent Celier <celier@gnat.com>
8118
8119         * prj-tree.ads (Project_Node_Record): Add comments for components
8120         Pkg_Id and Case_Insensitive.
8121
8122 2001-12-19  Pascal Obry <obry@gnat.com>
8123
8124         * g-socket.adb: Minor reformatting. Found while reading code.
8125
8126 2001-12-19  Robert Dewar <dewar@gnat.com>
8127
8128         * prj-tree.ads: Minor reformatting
8129
8130 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
8131
8132         * config-lang.in (diff_excludes): Remove.
8133
8134 2001-12-17  Ed Schonberg <schonber@gnat.com>
8135
8136         * sem_res.adb (Resolve_Selected_Component): do not generate a
8137         discriminant check if the selected component is a component of
8138         the argument of an initialization procedure.
8139
8140         * trans.c (tree_transform, case of arithmetic operators): If result
8141         type is private, the gnu_type is the base type of the full view,
8142         given that the full view itself may be a subtype.
8143
8144 2001-12-17  Robert Dewar <dewar@gnat.com>
8145
8146         * sem_res.adb: Minor reformatting
8147
8148         * trans.c (tree_transform, case N_Real_Literal): Add missing third
8149         parameter in call to Machine (unknown horrible effects from this
8150         omission).
8151
8152         * urealp.h: Add definition of Round_Even for call to Machine
8153         Add third parameter for Machine
8154
8155 2001-12-17  Ed Schonberg <schonber@gnat.com>
8156
8157         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
8158         predefined units in No_Run_Time mode.
8159
8160 2001-12-17  Richard Kenner <kenner@gnat.com>
8161
8162         * misc.c (insn-codes.h): Now include.
8163
8164 2001-12-17  Olivier Hainque <hainque@gnat.com>
8165
8166         * a-except.adb: Preparation work for future integration of the GCC 3
8167         exception handling mechanism
8168         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
8169         to factorize previous code sequences and make them externally callable,
8170         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
8171         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
8172         Use the new notification routines.
8173
8174 2001-12-17  Emmanuel Briot <briot@gnat.com>
8175
8176         * prj-tree.ads (First_Choice_Of): Document the when others case
8177
8178 2001-12-17  Arnaud Charlet <charlet@gnat.com>
8179
8180         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
8181         HI-E mode, in order to support Ravenscar profile properly.
8182
8183         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
8184         mode on 32 bits targets.
8185
8186 2001-12-17  Vincent Celier <celier@gnat.com>
8187
8188         * fmap.adb: Initial version.
8189
8190         * fmap.ads: Initial version.
8191
8192         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
8193         If search is successfully done, add to mapping.
8194
8195         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
8196
8197         * make.adb:
8198         (Gnatmake): Add new local variable Mapping_File_Name.
8199          Create mapping file when using project file(s).
8200          Delete mapping file before exiting.
8201
8202         * opt.ads (Mapping_File_Name): New variable
8203
8204         * osint.adb (Find_File): Use path name found in mapping, if any.
8205
8206         * prj-env.adb (Create_Mapping_File): New procedure
8207
8208         * prj-env.ads (Create_Mapping_File): New procedure.
8209
8210         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
8211         (Mapping_File)
8212
8213         * usage.adb: Add entry for new switch -gnatem.
8214
8215         * Makefile.in: Add dependencies for fmap.o.
8216
8217 2001-12-17  Ed Schonberg <schonber@gnat.com>
8218
8219         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
8220         is a package instantiation rewritten as a package body.
8221         (Install_Withed_Unit): Undo previous change, now redundant.
8222
8223 2001-12-17  Gary Dismukes <dismukes@gnat.com>
8224
8225         * layout.adb:
8226         (Compute_Length): Move conversion to Unsigned to callers.
8227         (Get_Max_Size): Convert Len expression to Unsigned after calls to
8228         Compute_Length and Determine_Range.
8229         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
8230         Compute_Length and Determine_Range.
8231         Above changes fix problem with length computation for supernull arrays
8232         where Max (Len, 0) wasn't getting applied due to the Unsigned
8233         conversion used by Compute_Length.
8234
8235 2001-12-17  Arnaud Charlet <charlet@gnat.com>
8236
8237         * rtsfind.ads:
8238         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
8239          System.Secondary_Stack.
8240         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
8241          in HI-E mode.
8242         Remove unused entity RE_Exception_Data.
8243
8244         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
8245
8246         * rident.ads (No_Secondary_Stack): New restriction.
8247
8248 2001-12-17  Joel Brobecker <brobecke@gnat.com>
8249
8250         * gnat_rm.texi: Fix minor typos. Found while reading the section
8251         regarding "Bit_Order Clauses" that was sent to a customer.
8252         Very interesting documentation!
8253
8254 2001-12-17  Robert Dewar <dewar@gnat.com>
8255
8256         * sem_case.adb (Choice_Image): Avoid creating improper character
8257         literal names by using the routine Set_Character_Literal_Name. This
8258         fixes bombs in certain error message cases.
8259
8260 2001-12-17  Arnaud Charlet <charlet@gnat.com>
8261
8262         * a-reatim.adb: Minor reformatting.
8263
8264 2001-12-17  Ed Schonberg <schonber@gnat.com>
8265
8266         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
8267         case where the formal is an extension of another formal in the current
8268         unit or in a parent generic unit.
8269
8270 2001-12-17  Arnaud Charlet <charlet@gnat.com>
8271
8272         * s-tposen.adb: Update comments.  Minor reformatting.
8273         Minor code clean up.
8274
8275         * s-tarest.adb: Update comments.  Minor code reorganization.
8276
8277 2001-12-17  Gary Dismukes <dismukes@gnat.com>
8278
8279         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
8280         when Java_VM.
8281
8282 2001-12-17  Robert Dewar <dewar@gnat.com>
8283
8284         * exp_attr.adb: Minor reformatting
8285
8286 2001-12-17  Ed Schonberg <schonber@gnat.com>
8287
8288         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
8289         derivations nested within a child unit: verify that the parent
8290         type is declared in an outer scope.
8291
8292 2001-12-17  Robert Dewar <dewar@gnat.com>
8293
8294         * sem_ch12.adb: Minor reformatting
8295
8296 2001-12-17  Ed Schonberg <schonber@gnat.com>
8297
8298         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
8299         warning if current unit is a predefined one, from which bodies may
8300         have been deleted.
8301
8302 2001-12-17  Robert Dewar <dewar@gnat.com>
8303
8304         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
8305         Fix header format. Add 2001 to copyright date.
8306
8307         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
8308         which caused CE during compilation if checks were enabled.
8309
8310 2001-12-17  Vincent Celier <celier@gnat.com>
8311
8312         * make.adb:
8313         (Switches_Of): New function
8314         (Test_If_Relative_Path): New procedure
8315         (Add_Switches): Use new function Switches_Of
8316         (Collect_Arguments_And_Compile): Use new function Switches_Of.
8317         When using a project file, test if there are any relative
8318         search path. Fail if there are any.
8319         (Gnatmake): Only add switches for the primary directory when not using
8320         a project file. When using a project file, change directory to the
8321         object directory of the main project file. When using a project file,
8322         test if there are any relative search path. Fail if there are any.
8323         When using a project file, fail if specified executable is relative
8324         path with directory information, and prepend executable, if not
8325         specified as an absolute path, with the exec directory.  Make sure
8326         that only one -o switch is transmitted to the linker.
8327
8328         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
8329
8330         * prj-nmsc.adb:
8331         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
8332         when using a non standard naming scheme.
8333         (Check_Ada_Naming_Scheme): Make sure that error messages
8334         do not raise exceptions.
8335         (Is_Illegal_Append): Return True if there is no dot in the suffix.
8336         (Language_Independent_Check): Check the exec directory.
8337
8338         * prj.adb (Project_Empty): Add new component Exec_Directory
8339
8340         * prj.ads:
8341         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
8342         (Project_Data): Add component Exec_Directory
8343
8344         * snames.adb: Updated to match snames.ads revision 1.215
8345
8346         * snames.ads: Added Exec_Dir
8347
8348 2001-12-17  Robert Dewar <dewar@gnat.com>
8349
8350         * make.adb: Minor reformatting
8351
8352         * prj-nmsc.adb: Minor reformatting
8353
8354         * snames.adb: Updated to match snames.ads
8355
8356         * snames.ads: Alphebetize entries for project file
8357
8358 2001-12-17  Ed Schonberg <schonber@gnat.com>
8359
8360         * trans.c (process_freeze_entity): Do nothing if the entity is a
8361         subprogram that was already elaborated.
8362
8363 2001-12-17  Richard Kenner <kenner@gnat.com>
8364
8365         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
8366         and Esize if object is referenced via pointer.
8367
8368 2001-12-17  Ed Schonberg <schonber@gnat.com>
8369
8370         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
8371         is discrete before analyzing choices.
8372
8373 2001-12-17  Joel Brobecker <brobecke@gnat.com>
8374
8375         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
8376         containing the name of the Ada Main Program. This string is mainly
8377         intended for the debugger.
8378         (Gen_Output_File_C): Do the equivalent change when generating a C file.
8379
8380 2001-12-17  Robert Dewar <dewar@gnat.com>
8381
8382         * ali.adb: Set new Dummy_Entry field in dependency entry
8383
8384         * ali.ads: Add Dummy_Entry field to source dependency table
8385
8386         * bcheck.adb (Check_Consistency): Ignore dummy D lines
8387
8388         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
8389
8390         * lib-writ.ads: Document dummy D lines for missing files.
8391
8392         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
8393
8394 2001-12-17  Robert Dewar <dewar@gnat.com>
8395
8396         * ali.adb: Type reference does not reset current file.
8397
8398         * ali.adb: Recognize and scan renaming reference
8399
8400         * ali.ads: Add spec for storing renaming references.
8401
8402         * lib-xref.ads: Add documentation for handling of renaming references
8403
8404         * lib-xref.adb: Implement output of renaming reference.
8405
8406         * checks.adb:
8407         (Determine_Range): Document local variables
8408         (Determine_Range): Make sure Hbound is initialized. It looks as though
8409          there could be a real problem here with an uninitialized reference
8410          to Hbound, but no actual example of failure has been found.
8411
8412 2001-12-17  Laurent Pautet <pautet@gnat.com>
8413
8414         * g-socket.ads:
8415         Fix comment of Shutdown_Socket and Close_Socket. These functions
8416         should not fail silently because if they are called twice, this
8417         probably means that there is a race condition in the user program.
8418         Anyway, this behaviour is consistent with the rest of this unit.
8419         When an error occurs, an exception is raised with the error message
8420         as exception message.
8421
8422 2001-12-17  Robert Dewar <dewar@gnat.com>
8423
8424         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
8425         that it happens before modification of Sloc values for -gnatD.
8426
8427         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
8428         so that it happens before modification of Sloc values for -gnatD.
8429
8430         * switch.adb: Minor reformatting
8431
8432 2001-12-15  Richard Henderson  <rth@redhat.com>
8433
8434         * sem_ch7.adb: Wrap comment.
8435
8436 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
8437
8438         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
8439         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
8440         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
8441         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
8442         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
8443         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
8444         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
8445         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
8446         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
8447         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
8448         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
8449         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
8450         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
8451         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
8452         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
8453         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
8454         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
8455         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
8456         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
8457         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
8458         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
8459         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
8460         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
8461         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
8462         spelling errors.
8463
8464 2001-12-14  Vincent Celier <celier@gnat.com>
8465
8466         * osint.adb(Create_Debug_File): When an object file is specified,
8467         put the .dg file in the same directory as the object file.
8468
8469 2001-12-14  Robert Dewar <dewar@gnat.com>
8470
8471         * osint.adb: Minor reformatting
8472
8473         * lib-xref.adb (Output_Instantiation): New procedure to generate
8474         instantiation references.
8475
8476         * lib-xref.ads: Add documentation of handling of generic references.
8477
8478         * ali.adb (Read_Instantiation_Ref): New procedure to read
8479         instantiation references
8480
8481         * ali.ads: Add spec for storing instantiation references
8482
8483         * bindusg.adb: Minor reformatting
8484
8485         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
8486
8487         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
8488
8489         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
8490
8491         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
8492
8493         * csets.ads:
8494         Fix header format
8495         Add 2001 to copyright date
8496         Add entry for Latin-5 (Cyrillic ISO-8859-5)
8497
8498 2001-12-14  Matt Gingell <gingell@gnat.com>
8499
8500         * adaint.c: mktemp is a macro on Lynx and can not be used as an
8501         expression.
8502
8503 2001-12-14  Richard Kenner <kenner@gnat.com>
8504
8505         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
8506         if operand is CONSTRUCTOR.
8507
8508 2001-12-14  Ed Schonberg <schonber@gnat.com>
8509
8510         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
8511         before emiting check on right-hand side, so that exception information
8512         is correct.
8513
8514 2001-12-14  Richard Kenner <kenner@gnat.com>
8515
8516         * utils.c (create_var_decl): Throw away initializing expression
8517         if just annotating types and non-constant.
8518
8519 2001-12-14  Vincent Celier <celier@gnat.com>
8520
8521         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
8522         Default_Ada_...
8523
8524         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
8525         Remove functions.
8526         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
8527
8528         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
8529         Remove functions.
8530         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
8531
8532 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
8533
8534         * ChangeLog: Remove piece of diff output.
8535
8536 2001-12-14  Geert Bosch <bosch@gnat.com>
8537
8538         * config-lang.in: Update copyright notice
8539
8540         * layout.adb: Remove commented out code.
8541
8542         * mdllfile.ads: Update copyright notice. Fix header format.
8543
8544         * sem_case.ads: Likewise.
8545
8546         * sem_ch3.adb: Minor reformatting.
8547
8548 2001-12-12  Geert Bosch <bosch@gnat.com>
8549
8550         * freeze.ads: Update copyright date.
8551
8552         * g-comlin.ads: Minor reformatting.
8553
8554         * gnat-style.texi: Fix typo.
8555
8556 2001-12-12  Geert Bosch <bosch@gnat.com>
8557
8558         *  einfo.h: Regenerate.
8559
8560 2001-12-12  Ed Schonberg <schonber@gnat.com>
8561
8562         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
8563         on known node types, rather than untyped fields. Further cleanups.
8564
8565 2001-12-12  Robert Dewar <dewar@gnat.com>
8566
8567         * sem_ch12.adb:
8568         (Save_Entity_Descendant): Minor comment update.
8569         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
8570          of an N_Attribute_Reference node. As per note below, this does not
8571         eliminate need for Associated_Node in attribute ref nodes.
8572         (Associated_Node): Documentation explicitly mentions attribute
8573         reference nodes, since this field is used in such nodes.
8574
8575         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
8576
8577 2001-12-12  Robert Dewar <dewar@gnat.com>
8578
8579         * s-stalib.adb: Add more comments on with statements being needed
8580
8581         * par-ch12.adb: Minor reformatting
8582
8583         * prj-dect.ads: Fix copyright header
8584
8585         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
8586         inputs fit in 32 bits, but the result still overflows.
8587
8588         * s-fatgen.ads: Minor comment improvement
8589
8590 2001-12-12  Ed Schonberg <schonber@gnat.com>
8591
8592         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
8593         formal derived type, look for an inherited component from the full
8594         view of the parent, if any.
8595
8596 2001-12-12  Robert Dewar <dewar@gnat.com>
8597
8598         * checks.ads (Apply_Alignment_Check): New procedure.
8599
8600         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
8601         ensure that the alignment of objects with address clauses is
8602         appropriate, and raise PE if not.
8603
8604         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
8605         Exp_Pakd.Known_Aligned_Enough
8606
8607         * mdllfile.ads: Minor reformatting
8608
8609         * mlib-fil.ads: Minor reformatting
8610
8611 2001-12-12  Ed Schonberg <schonber@gnat.com>
8612
8613         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
8614         fix to any component reference if enclosing record has non-standard
8615         representation.
8616
8617 2001-12-12  Vincent Celier <celier@gnat.com>
8618
8619         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
8620         Iteration
8621
8622 2001-12-12  Ed Schonberg <schonber@gnat.com>
8623
8624         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
8625         sem_attr.
8626
8627 2001-12-12  Robert Dewar <dewar@gnat.com>
8628
8629         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
8630
8631 2001-12-12  Emmanuel Briot <briot@gnat.com>
8632
8633         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
8634         and it adds dependencies to system.io.
8635
8636 2001-12-12  Pascal Obry <obry@gnat.com>
8637
8638         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
8639         variable name.
8640
8641 2001-12-11  Ed Schonberg <schonber@gnat.com>
8642
8643         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
8644         that is the parent of other generics, the instance body replaces the
8645         instance node.  Retrieve the instance of the spec, which is the one
8646         that is visible in clients and within the body.
8647
8648 2001-12-11  Vincent Celier <celier@gnat.com>
8649
8650         * gnatmain.adb: Initial version.
8651
8652         * gnatmain.ads: Initial version.
8653
8654         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
8655
8656         * snames.adb: Updated to match snames.ads.
8657
8658         * snames.ads: Added Gnatstub.
8659
8660 2001-12-11  Vincent Celier <celier@gnat.com>
8661
8662         * prj-attr.adb (Initialization_Data): Change name from
8663         Initialisation_Data.
8664
8665 2001-12-11  Emmanuel Briot <briot@gnat.com>
8666
8667         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
8668         + and * applied to backslashed expressions like \r.
8669
8670 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
8671
8672         * g-os_lib.ads: String_List type added, Argument_List type is now
8673         subtype of String_List.
8674
8675 2001-12-11  Robert Dewar <dewar@gnat.com>
8676
8677         * g-os_lib.ads: Change copyright to FSF
8678         Add comments for String_List type
8679
8680 2001-12-11  Vincent Celier <celier@gnat.com>
8681
8682         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
8683         string to the buffer).
8684
8685 2001-12-11  Ed Schonberg <schonber@gnat.com>
8686
8687         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
8688         sem_attr.
8689
8690         * sem_attr.adb: Simplify previous fix for Address.
8691         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
8692         to avoid anomalies where the bound of the type appears to raise
8693         constraint error.
8694
8695 2001-12-11  Robert Dewar <dewar@gnat.com>
8696
8697         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
8698         handled.
8699
8700 2001-12-11  Ed Schonberg <schonber@gnat.com>
8701
8702         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
8703         renamed unit before checking for recursive instantiations.
8704
8705 2001-12-11  Emmanuel Briot <briot@gnat.com>
8706
8707         * prj.ads: Add comments for some of the fields.
8708
8709 2001-12-11  Robert Dewar <dewar@gnat.com>
8710
8711         * lib-xref.adb (Output_Refs): Don't output type references outside
8712         the main unit if they are not otherwise referenced.
8713
8714 2001-12-11  Ed Schonberg <schonber@gnat.com>
8715
8716         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
8717         code and diagnose additional illegal uses
8718
8719         * sem_util.adb (Is_Object_Reference): An indexed component is an
8720         object only if the prefix is.
8721
8722 2001-12-11  Vincent Celier <celier@gnat.com>
8723
8724         * g-diopit.adb: Initial version.
8725
8726         * g-diopit.ads: Initial version.
8727
8728         * g-dirope.adb:
8729         (Expand_Path): Avoid use of Unbounded_String
8730         (Find, Wildcard_Iterator): Moved to child package Iteration
8731
8732         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
8733
8734 2001-12-11  Robert Dewar <dewar@gnat.com>
8735
8736         * sem_attr.adb: Minor reformatting
8737
8738 2001-12-11  Ed Schonberg <schonber@gnat.com>
8739
8740         * sem_ch3.adb: Clarify some ???.
8741
8742 2001-12-11  Robert Dewar <dewar@gnat.com>
8743
8744         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
8745         Exp_Pakd.Known_Aligned_Enough
8746
8747         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
8748         version is moved to Exp_Ch13.
8749
8750 2001-12-11  Robert Dewar <dewar@gnat.com>
8751
8752         * einfo.ads: Minor reformatting
8753
8754         * exp_ch5.adb: Add comment for previous.change
8755
8756         * ali.adb: New interface for extended typeref stuff.
8757
8758         * ali.ads: New interface for typeref stuff.
8759
8760         * checks.adb (Apply_Alignment_Check): New procedure.
8761
8762         * debug.adb: Add -gnatdM for modified ALI output
8763
8764         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
8765
8766         * lib-xref.adb: Extend generation of <..> notation to cover
8767         subtype/object types. Note that this is a complete rewrite,
8768         getting rid of the very nasty quadratic algorithm previously
8769         used for derived type output.
8770
8771         * lib-xref.ads: Extend description of <..> notation to cover
8772         subtype/object types. Uses {..} for these other cases.
8773         Also use (..) for pointer types.
8774
8775         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
8776
8777         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
8778         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
8779
8780 2001-12-11  Vincent Celier <celier@gnat.com>
8781
8782         * gnatcmd.adb:
8783         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
8784         Changed /BIND_ONLY to /ACTIONS=BIND
8785         Changed /LINK_ONLY to /ACTIONS=LINK
8786
8787 2001-12-11  Ed Schonberg  <schonber@gnat.com>
8788
8789         * sem_ch8.adb (Find_Selected_Component): improved search for a
8790         candidate package in case of error.
8791
8792         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
8793         chain back on scope stack before reinstalling use clauses.
8794
8795         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
8796         is enabled, do not kill the code for the condition, to preserve
8797         warning.
8798
8799 2001-12-11  Robert Dewar <dewar@gnat.com>
8800
8801         * checks.adb (Insert_Valid_Check): Apply validity check to expression
8802         of conversion, not to result of conversion.
8803
8804 2001-12-11  Ed Schonberg <schonber@gnat.com>
8805
8806         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
8807         before freezing parent. If the declarations are mutually recursive,
8808         an access to the current record type may be frozen before the
8809         derivation is complete.
8810
8811 2001-12-05  Vincent Celier <celier@gnat.com>
8812
8813         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
8814         -c /COMPILE_ONLY, -l /LINK_ONLY
8815
8816         * opt.ads:
8817         (Bind_Only): New Flag
8818         (Link_Only): New flag
8819
8820         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
8821         and -l (Link_Only)
8822
8823         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
8824
8825         * make.adb:
8826         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
8827         (Gnatmake): Set the step flags. Only perform a step if the
8828         corresponding step flag is True.
8829         (Scan_Make_Arg): Reset the bind and link step flags when -u
8830         or -gnatc has been specified.
8831
8832 2001-12-05  Ed Schonberg <schonber@gnat.com>
8833
8834         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
8835         get bounds from right operand.
8836
8837         * sem_eval.adb: Minor reformatting
8838
8839         * exp_util.adb (Make_Literal_Range): use bound of literal rather
8840         than Index'First, its lower bound may be different from 1.
8841
8842         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
8843         and C48009J
8844
8845 2001-12-05  Vincent Celier <celier@gnat.com>
8846
8847         * prj-nmsc.adb Minor reformatting
8848
8849         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
8850         set and libraries are not supported.
8851
8852 2001-12-05  Ed Schonberg <schonber@gnat.com>
8853
8854         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
8855         private view explicitly, so the back-end can treat as a global
8856         when appropriate.
8857
8858 2001-12-05  Ed Schonberg <schonber@gnat.com>
8859
8860         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
8861          unit, always replace instance node with new body, for ASIS use.
8862
8863 2001-12-05  Vincent Celier <celier@gnat.com>
8864
8865         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
8866         libraries are not supported and both attributes Library_Name and
8867         Library_Dir are specified.
8868
8869         * prj-proc.adb (Expression): Set location of Result to location of
8870         first term.
8871
8872         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
8873         (prj-nmsc is now importing MLib.Tgt)
8874
8875         * prj-proc.adb: Put the change indicated above that was forgotten.
8876
8877 2001-12-05  Robert Dewar <dewar@gnat.com>
8878
8879         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
8880
8881 2001-12-05  Ed Schonberg <schonber@gnat.com>
8882
8883         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
8884         constraint, introduce explicit subtype declaration and derive from it.
8885
8886         * sem_ch3.adb: Minor reformatting
8887
8888 2001-12-05  Robert Dewar <dewar@gnat.com>
8889
8890         * checks.adb (Determine_Range): Increase cache size for checks.
8891         Minor reformatting
8892
8893         * exp_ch6.adb: Minor reformatting
8894         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
8895         a parameter whose root type is System.Address, since treating such
8896         subprograms as pure in the code generator is almost surely a mistake
8897         that will lead to unexpected results.
8898
8899         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
8900         change handling of conversions.
8901
8902         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
8903
8904 2001-12-05  Ed Schonberg <schonber@gnat.com>
8905
8906         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
8907         aggregate with static wrong size, attach generated Raise node to
8908         declaration.
8909
8910 2001-12-05  Robert Dewar <dewar@gnat.com>
8911
8912         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
8913         Fixes compilation abandoned bomb in B24009B.
8914
8915 2001-12-05  Ed Schonberg <schonber@gnat.com>
8916
8917         * sem_ch12.adb:
8918         Document use of Associated_Node on Selected_Components.
8919         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
8920         to clarify use of untyped descendant fields.
8921
8922 2001-12-05  Robert Dewar <dewar@gnat.com>
8923
8924         * prj-dect.ads: Add ??? comment
8925         Add 2001 to copyright notice (was not done in after all)
8926
8927         * prj-part.adb: Minor reformatting. Reword one awkward error message.
8928
8929         * prj.ads: Minor reformatting throughout, and add some ??? comments
8930
8931         * snames.ads: Minor reformatting
8932
8933 2001-12-05  Geert Bosch <bosch@gnat.com>
8934
8935         * snames.adb: Autoupdate
8936
8937 2001-12-05  Vincent Celier <celier@gnat.com>
8938
8939         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
8940
8941         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
8942
8943         * prj-env.adb: Minor comment changes (modifying -> extends).
8944
8945         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
8946
8947         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
8948         Tok_Extends.
8949
8950         * prj.adb (Initialize): Change Modifying to Extends.
8951
8952         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
8953
8954         * prj.ads: Minor comment change (Modifying -> extending).
8955
8956         * snames.ads: Change modifying to extends.
8957
8958 2001-12-05  Robert Dewar <dewar@gnat.com>
8959
8960         * sem_warn.adb: Remove stuff for conditionals, we are not going to
8961         do this after all.
8962
8963         * sem_warn.ads: Remove stuff for conditionals, we are not going to
8964         do this after all.  Add 2001 to copyright notice
8965
8966 2001-12-04  Geert Bosch <bosch@gnat.com>
8967
8968         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
8969
8970 2001-12-04  Robert Dewar <dewar@gnat.com>
8971
8972         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
8973         location if we already have errors. Stops some cases of cascaded
8974         errors.
8975
8976         * errout.adb: Improve comment.
8977
8978 2001-12-04  Robert Dewar <dewar@gnat.com>
8979
8980         * sem_ch12.adb:
8981         (Analyze_Formal_Type_Definition): Defend against Error.
8982         (Analyze_Formal_Subprogram): Defend against Error.
8983
8984         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
8985         remove following semicolon if present. Removes cascaded error.
8986
8987 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
8988
8989         * bindgen.adb:
8990         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
8991          exceptions equals 0.
8992         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
8993         Fixes PIWG E tests (which have to be run with -gnatL).
8994
8995 2001-12-04  Robert Dewar <dewar@gnat.com>
8996
8997         * einfo.ads: Minor reformatting
8998
8999 2001-12-04  Ed Schonberg <schonber@gnat.com>
9000
9001         * einfo.ads: Block_Node points to the identifier of the block, not to
9002         the block node itself, to preserve the link when the block is
9003         rewritten, e.g. within an if-statement with a static condition.
9004
9005         * inline.adb (Cleanup_Scopes): recover block statement from block
9006         entity using new meaning of Block_Node.
9007
9008         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
9009         identifier of block node, rather than to node itself.
9010
9011 2001-12-04  Gary Dismukes <dismukes@gnat.com>
9012
9013         * layout.adb:
9014         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
9015         (Discrimify): Go back to setting the Etypes of the selected component
9016         because the Vname component does not exist at this point and will
9017         fail name resolution. Also set Analyzed.
9018         Remove with and use of Sem_Res.
9019
9020 2001-12-04  Arnaud Charlet <charlet@gnat.com>
9021
9022         * Makefile.in: (HIE_SOURCES): add s-fat*.
9023
9024 2001-12-04  Robert Dewar <dewar@gnat.com>
9025
9026         * sem_attr.adb:
9027         (Compile_Time_Known_Attribute): New procedure.
9028         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
9029          proper range check.
9030
9031 2001-12-04  Ed Schonberg <schonber@gnat.com>
9032
9033         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
9034         processing discriminants to diagnose illegal default values.
9035
9036 2001-12-04  Ed Schonberg <schonber@gnat.com>
9037
9038         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
9039         access discriminant within a type extension that constrains its
9040         parent discriminants.
9041
9042 2001-12-04  Ed Schonberg <schonber@gnat.com>
9043
9044         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
9045         is malformed, use instance of Any_Id to allow analysis to proceed.
9046
9047         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
9048         type definition is illegal.
9049         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
9050         misplaced.
9051
9052 2001-12-04  Ed Schonberg <schonber@gnat.com>
9053
9054         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
9055         constants.
9056
9057 2001-12-04  Robert Dewar <dewar@gnat.com>
9058
9059         * errout.adb: Minor reformatting
9060
9061 2001-12-04  Robert Dewar <dewar@gnat.com>
9062
9063         * exp_util.adb: Minor reformatting from last change
9064
9065         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
9066         which is a rewriting of an expression, traverse the original
9067         expression to remove warnings that may have been posted on it.
9068
9069 2001-12-04  Ed Schonberg <schonber@gnat.com>
9070
9071         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
9072         record that has other packed components.
9073
9074 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
9075
9076         * adaint.c: Minor cleanups.
9077
9078 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
9079
9080         * adaint.c: Do not use utime.h on vxworks.
9081
9082 2001-12-04  Arnaud Charlet <charlet@gnat.com>
9083
9084         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
9085         more confusion than it solves.
9086
9087 2001-12-04  Geert bosch <bosch@gnat.com>
9088
9089         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
9090
9091 2001-12-04  Geert Bosch  <bosch@gnat.com>
9092
9093         * Makefile.in (update-sources): New target.
9094         For use by gcc_release script.
9095
9096 2001-12-04  Ed Schonberg <schonber@gnat.com>
9097
9098         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
9099         a configuration pragma, it is now legal wherever a pragma can appear.
9100
9101 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
9102
9103         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
9104         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
9105         is now @CROSS@ -DIN_GCC; update comment.
9106
9107 2001-12-04  Robert Dewar <dewar@gnat.com>
9108
9109         * einfo.adb (Has_Pragma_Pure_Function): New flag.
9110         Fix problem that stopped ceinfo from working
9111
9112         * einfo.ads (Has_Pragma_Pure_Function): New flag.
9113
9114         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
9115
9116 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
9117
9118         * gnatchop.adb:
9119         (File_Time_Stamp): New procedure.
9120         (Preserve_Mode): New boolean.
9121         (Write_Unit): Pass time stamp.
9122         Implement -p switch (preserve time stamps).
9123
9124         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
9125
9126         * gnatchop.adb: Do usage info for -p switch
9127
9128         * adaint.h (__gnat_set_file_time_name): New function
9129
9130         * adaint.c (__gnat_set_file_time_name): Implement
9131
9132         * adaint.h: Fix typo
9133
9134 2001-12-03  Robert Dewar <dewar@gnat.com>
9135
9136         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
9137         have Associated_Node.
9138
9139 2001-12-03  Robert Dewar <dewar@gnat.com>
9140
9141         * prj-proc.adb: Minor reformatting
9142
9143         * make.adb: Minor reformatting
9144
9145 2001-12-03  Geert Bosch <bosch@gnat.com>
9146
9147         * make.adb: Minor reformatting.
9148
9149 2001-12-03 Robert Dewar  <dewar@gnat.com>
9150
9151         * sem_ch12.adb: Minor reformatting
9152
9153 2001-12-03  Ed Schonberg <schonber@gnat.com>
9154
9155         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
9156         push Standard on the stack before analyzing the instance body,
9157         in order to have a clean visibility environment.
9158
9159         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
9160
9161 2001-12-03  Ed Schonberg <schonber@gnat.com>
9162
9163         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
9164         instantiation of a body that contains an inlined body.
9165
9166 2001-12-03  Ed Schonberg <schonber@gnat.com>
9167
9168         * sem_ch12.adb:
9169         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
9170         to prevent freezing within formal packages.
9171         (Freeze_Subprogram_Body): If body comes from another instance that
9172         appeared before its own body, place freeze node at end of current
9173         declarative part, to prevent a back-end crash.
9174         (Inline_Instance_Body): Handle properly a package instance within
9175         a subprogram instance that is a child unit.
9176
9177 2001-12-01  Graham Stott  <grahams@redhat.com>
9178
9179         * Makefile.in (misc.o): Add missing $(srcdir) prefix
9180         and add optabs.h dependency.
9181
9182         * misc.c: Include optabs.h
9183         (gnat_tree_code_type): Make static and const.
9184         (gnat_tree_code_length): Likewise.
9185         (gnat_tree_code_name): Likewise.
9186         (update_setjmp_buf): Obtain operands mode from insn_data.
9187
9188 2001-11-29  Richard Henderson  <rth@redhat.com>
9189
9190         * init.c: Remove obsolete dwarf2 frame.h section.
9191
9192 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
9193
9194         * Make-lang.in (ada.generated-manpages): New dummy target.
9195
9196 2001-11-29  Ed Schonberg <schonber@gnat.com>
9197
9198         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
9199         into Command, an array conversion is illegal here. Uncovered by
9200         ACATS B460005.
9201
9202 2001/11/28  Geert Bosch <bosch@gnat.com>
9203
9204         * init.c: Minor whitespace changes.
9205
9206 2001-11-28  Doug Rupp <rupp@gnat.com>
9207
9208         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
9209         signal stack.
9210
9211 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
9212
9213         * misc.c (gnat_expand_constant): Move declaration above
9214         definition of lang_hooks.
9215         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
9216         (gnat_init): lang_expand_constant no longer exists.
9217
9218         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
9219         always have vprintf.
9220         (gnat_init): Always call set_internal_error_function.
9221
9222 2001-11-27  Andreas Jaeger  <aj@suse.de>
9223
9224         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
9225
9226 2001-11-27  Laurent Guerby  <guerby@acm.org>
9227
9228         * Makefile.in: Regenerate Ada dependencies.
9229
9230 2001-11-26  Richard Henderson  <rth@redhat.com>
9231
9232         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
9233         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
9234         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
9235
9236 2001-11-25  Laurent Guerby  <guerby@acm.org>
9237
9238         * sysdep.c (rts_get_*): Fix style.
9239
9240 2001-11-19  Laurent Guerby  <guerby@acm.org>
9241
9242         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
9243         since it is of no apparent use and cause warnings.
9244
9245 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
9246
9247         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
9248         static too.
9249         (gnat_init): Don't return NULL.
9250         (finish_parse): Remove.
9251
9252 2001-11-17  Laurent Guerby  <guerby@acm.org>
9253
9254         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
9255         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
9256         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
9257         * lang-spec.h: Add missing struct field to silence warnings.
9258         * sysdep.c (rts_get_*): Provide K&R prototype.
9259         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
9260         * traceback.c (Unlock_Task, Lock_Task): Likewise.
9261         * tracebak.c (__gnat_backtrace): Remove unused variable.
9262         * utils.c (end_subprog_body): Move to K&R style.
9263
9264 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9265
9266         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
9267
9268 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
9269
9270         * misc.c (gnat_init): Change prototype.  Include the
9271         functionality of the old init_parse and init_decl_processing.
9272         (gnat_init_decl_processing): New prototype.
9273         (init_parse): Remove.
9274         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
9275
9276 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
9277
9278         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
9279         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
9280         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
9281         set_yydebug): Remove.
9282
9283 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
9284
9285         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
9286         (struct lang_hooks): Constify.
9287         (language_string, lang_identify): Remove.
9288         * utils.c (init_decl_processing): Update.
9289
9290 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
9291
9292         * misc.c: Include langhooks-def.h.
9293         * Makefile.in: Update.
9294
9295 2001-10-30  Robert Dewar <dewar@gnat.com>
9296
9297         * style.adb:
9298         (Check_Identifier): Rewrite circuit to be compatible with use of letters
9299         in the upper half of ASCII.
9300         (Check_Identifier): Minor reformatting
9301
9302 2001-10-30  Geert Bosch <bosch@gnat.com>
9303
9304         * (Associated_Node, Set_Associated_Node): Do not check for
9305         Freeze_Entity.
9306
9307 2001-10-30  Robert Dewar <dewar@gnat.com>
9308
9309         * a-reatim.ads: Minor reformatting
9310
9311 2001-10-30  Robert Dewar <dewar@gnat.com>
9312
9313         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
9314         undocumented declarations.
9315
9316 2001-10-30  Pascal Obry <obry@gnat.com>
9317
9318         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
9319         to the binder and linker.
9320         Minor style fix.
9321
9322         * mdll.ads: Fix layout.  Update copyright notice.
9323
9324         * mdll.adb: Fix layout.  Update copyright notice.
9325
9326 2001-10-30  Robert Dewar <dewar@gnat.com>
9327
9328         * usage.adb: Minor fix to output for -gnaty.
9329
9330 2001-10-30  Ed Schonberg <schonber@gnat.com>
9331
9332         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
9333         to accommodate all its possible values.
9334
9335         * a-reatim.adb (Split): Special-case handling of Time_Span_First
9336         and of small absolute values of T.
9337
9338 2001-10-30  Richard Kenner <kenner@gnat.com>
9339
9340         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
9341         set_mem_attributes since not needed and wrong if RESULT if a REG;
9342         fixes ACATS failures.
9343
9344 2001-10-30  Geert Bosch <bosch@gnat.com>
9345
9346         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
9347         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
9348
9349 2001-10-30  Robert Dewar <dewar@gnat.com>
9350
9351         * bindusg.adb: Undocument -f switch.
9352
9353         * gnatcmd.adb: Remove /FULL_ELABORATION.
9354
9355         * opt.ads (Force_RM_Elaboration_Order): Document that this is
9356         obsolescent.
9357
9358         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
9359
9360         * gnatbind.adb: Minor update of warning msg.
9361
9362 2001-10-30  Vincent Celier <celier@gnat.com>
9363
9364         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
9365         for project file switches (-P (/PROJECT_FILE=),
9366          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
9367         or MEDIUM or HIGH)
9368
9369 2001-10-30  Geert Bosch <bosch@gnat.com>
9370
9371         * decl.c: Minor whitespace fixes.
9372
9373 2001-10-30  Richard Kenner <kenner@gnat.com>
9374
9375         * utils2.c (build_allocator): Test for SIZE overflow in array case too
9376
9377 2001-10-30  Geert Bosch <bosch@gnat.com>
9378
9379         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
9380         Found due to GCC 3.0 warning of using uninitialized value.
9381
9382         * layout.adb:
9383         (Get_Max_Size): Use variant record for tracking value/expression.
9384          Makes logic clearer and prevents warnings for uninitialized variables.
9385         (Layout_Array_Type): Use variant record for tracking value/expression.
9386          Makes logic clearer and prevents warnings for uninitialized variables.
9387
9388 2001-10-30  Robert Dewar <dewar@gnat.com>
9389
9390         * lib.adb: Minor reformatting
9391
9392         * s-taprop.ads: Minor reformatting
9393
9394 2001-10-29  Laurent Guerby  <guerby@acm.org>
9395
9396         * init.c:
9397         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
9398         const.
9399         (_gnat_error_handler): Make MSG const.
9400
9401 2001-10-29  Richard Kenner <kenner@gnat.com>
9402
9403         * sysdep.c: Fix localtime_r problem on LynxOS.
9404         Also remove #elif to avoid warnings.
9405
9406         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
9407         used by this.
9408
9409         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
9410
9411 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
9412
9413         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
9414         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
9415         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
9416         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
9417         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
9418         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
9419         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
9420         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
9421         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
9422         types.ads, urealp.adb: Fix spelling errors.
9423
9424 2001-10-27  Laurent Guerby <guerby@acm.org>
9425
9426         * trans.c (gigi): Fix non determinism leading to bootstrap
9427         comparison failures for debugging information.
9428
9429 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
9430
9431         * gnat_rm.texi: Use @./@: where appropriate.
9432
9433 2001-10-26  Robert Dewar <dewar@gnat.com>
9434
9435         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
9436
9437 2001-10-26  Richard Kenner <kenner@gnat.com>
9438
9439         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
9440
9441 2001-10-26  Richard Kenner <kenner@gnat.com>
9442
9443         * decl.c (validate_size): Modify message for bad size to avoid
9444         implication that compiler is modifying the size.
9445
9446 2001-10-26  Robert Dewar <dewar@gnat.com>
9447
9448         * prj-util.adb: Minor reformatting. Fix bad header format.
9449
9450 2001-10-26  Robert Dewar <dewar@gnat.com>
9451
9452         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
9453
9454         * sinfo.ads: Clarify use of Associated_Node (documentation only).
9455
9456         * sem_ch12.adb: Change Node4 to Associated_Node. Change
9457         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
9458         much more narrowly in places where needed. These are cleanups.
9459
9460 2001-10-26  Joel Brobecker <brobecke@gnat.com>
9461
9462         * 5zosinte.ads (null_pthread): new constant.
9463
9464         * 5ztaprop.adb:
9465         (Initialize_TCB): Initialize thread ID to null, to be able to verify
9466          later that this field has been set.
9467         (Finalize_TCB): ditto.
9468         (Suspend_Task): Verify that the thread ID is not null before using it.
9469         (Resume_Task): ditto.
9470
9471         * s-tasdeb.adb:
9472         (Resume_All_Tasks): Lock the tasks list before using it.
9473         (Suspend_All_Tasks): ditto.
9474
9475 2001-10-26  Richard Kenner <kenner@gnat.com>
9476
9477         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
9478         Make constant variant of designated type for Is_Access_Constant.
9479         Call update_pointer_to with main variant.
9480
9481         * trans.c (process_freeze_entity, process_type):
9482         Call update_pointer_to on main variant.
9483
9484         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
9485         If main variant, update all other variants.
9486
9487         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
9488         TREE_STATIC.
9489
9490 2001-10-26  Robert Dewar <dewar@gnat.com>
9491
9492         * prj-util.adb: Minor reformatting
9493
9494 2001-10-26  Robert Dewar <dewar@gnat.com>
9495
9496         * prj-util.adb: Minor reformatting
9497
9498 2001-10-26  Robert Dewar <dewar@gnat.com>
9499
9500         * prj-attr.adb: Minor reformatting throughout
9501
9502 2001-10-26  Robert Dewar <dewar@gnat.com>
9503
9504         * prj-attr.ads: Minor reformatting
9505         Add ??? comment (this whole spec has almost no comments)
9506
9507 2001-10-26  Vincent Celier <celier@gnat.com>
9508
9509         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
9510         ("//") that precede the drive letter on Interix.
9511
9512 2001-10-26  Geert Bosch <bosch@gnat.com>
9513
9514         * gnat_rm.texi: Add GNAT Reference Manual.
9515
9516 2001-10-25  Robert Dewar <dewar@gnat.com>
9517
9518         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
9519         is Error. Similar change for other renaming cases.
9520
9521 2001-10-25  Robert Dewar <dewar@gnat.com>
9522
9523         * s-atacco.ads: Add pragma Inline_Always for functions.
9524         Fix header format. Add copyright 2001
9525
9526 2001-10-25  Ed Schonberg <schonber@gnat.com>
9527
9528         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
9529         return Error rather than Empty so that analysis can proceed.
9530
9531 2001-10-25  Ed Schonberg <schonber@gnat.com>
9532
9533         * sem_util.adb (Enter_Name): better handling of cascaded error
9534         messages when a unit appears in its own context.
9535
9536 2001-10-25  Ed Schonberg <schonber@gnat.com>
9537
9538         * sem_util.adb (Defining_Entity): in case of error, attach created
9539         entity to specification, so that semantic analysis can proceed.
9540
9541 2001-10-25  Robert Dewar <dewar@gnat.com>
9542
9543         * sem_util.adb
9544         (Defining_Entity): Deal with Error.
9545         (Process_End_Label): Deal with bad end label for.
9546
9547 2001-10-25  Ed Schonberg <schonber@gnat.com>
9548
9549         * sem_elab.adb (Check_A_Call): refine message when call is in an
9550         instance but callee is not declared in the generic unit.
9551
9552 2001-10-25  Ed Schonberg <schonber@gnat.com>
9553
9554         * sem_elab.adb (Check_A_Call): check for renaming before finding the
9555         enclosing unit, which may already be different from the calling unit.
9556
9557 2001-10-25  Geert Bosch <bosch@gnat.com>
9558
9559         * 4gintnam.ads: fix header format.
9560
9561 2001-10-25  Ed Schonberg <schonber@gnat.com>
9562
9563         * sem_res.adb (Resolve_Call): if the call is actually an indexing
9564         operation on the result of a parameterless call, perform elaboration
9565         check after the node has been properly rewritten.
9566
9567         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
9568         inlined within the generic tree, the defining identifier is not a
9569         compilation_unit.
9570
9571 2001-10-25  Ed Schonberg <schonber@gnat.com>
9572
9573         * sem_res.adb (Resolve): special-case resolution of Null in an
9574          instance or an inlined body to avoid view conflicts.
9575
9576         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
9577          compatibility by retrieving the access type of the generic copy.
9578
9579 2001-10-25  Robert Dewar <dewar@gnat.com>
9580
9581         * sem_ch3.adb:
9582         (Analyze_Number_Declaration): Handle error expression.
9583         (Signed_Integer_Type_Declaration): Handle error bound.
9584         (Analyze_Subtype_Indication): Handle error range.
9585
9586         * sem_util.adb (Get_Index_Bounds): Check for Error.
9587
9588 2001-10-25  Robert Dewar <dewar@gnat.com>
9589
9590         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
9591         in no run time mode.
9592
9593 2001-10-25  Pascal Obry <obry@gnat.com>
9594
9595         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
9596         mode case for ALLOC case.
9597
9598         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
9599         all platforms. Improvement of last change.
9600
9601 2001-10-25  Robert Dewar <dewar@gnat.com>
9602
9603         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
9604
9605 2001-10-25  Geert Bosch  <bosch@gnat.com>
9606
9607         * osint.adb (Is_Relative): Remove duplicate.
9608
9609 2001-10-25  Pascal Obry <obry@gnat.com>
9610
9611         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
9612         pathnames in UNIX and DOS style with drive letter.
9613         (Is_Relative): new routine.
9614
9615         * osint.adb: Minor reformatting
9616
9617         * osint.adb (Is_Relative): implementation using
9618         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
9619
9620 2001-10-25  Pascal Obry <obry@gnat.com>
9621
9622         * g-dirope.adb (Basename): correctly compute offset between the
9623         original Path and the translated one.
9624
9625         * g-dirope.adb: (Base_Name): add some comments.
9626
9627 2001-10-25  Robert Dewar <dewar@gnat.com>
9628
9629         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
9630         in HIE mode, avoids compilation abandoned message
9631
9632         * exp_imgv.adb: Correct typo in previous change
9633
9634         * exp_imgv.adb: Correct typo in previous change (not my day!)
9635
9636 2001-10-25  Robert Dewar <dewar@gnat.com>
9637
9638         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
9639
9640 2001-10-25  Pascal Obry <obry@gnat.com>
9641
9642         * g-awk.ads: Move all pragma inlines next to the routine
9643          declarations. This is more uniform with other GNAT spec.
9644
9645 2001-10-22  Geert Bosch  <bosch@gnat.com>
9646
9647         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
9648
9649 2001-10-19  Geert Bosch  <bosch@gnat.com>
9650
9651         * Makefile.in (tools, gnattools): Remove gnatmem.
9652
9653 2001-10-17  Richard Henderson  <rth@redhat.com>
9654
9655         * Makefile.in (misc.o): Depend on langhooks.h.
9656         * misc.c: Include it.
9657         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
9658         (LANG_HOOKS_DECODE_OPTION): New.
9659         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
9660
9661 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
9662
9663         * trans.c (tree_transform): Adjust to recent change in
9664         expand_asm_operands to implement named asm operands.
9665
9666 2001-10-11  Ed Schonberg  <schonber@gnat.com>
9667
9668         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
9669         renaming of discriminant for mutable record type.
9670
9671 2001-10-11  Robert Dewar  <dewar@gnat.com>
9672
9673         * validsw.adb: Properly save -gnatVn status.
9674
9675 2001-10-11  Robert Dewar <dewar@gnat.com>
9676
9677         * usage.adb: Add lines for V switch.
9678
9679         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
9680         (/VALIDITY_CHECKING).
9681
9682 2001-10-11  Ed Schonberg <schonber@gnat.com>
9683
9684         * sem_type.adb (Add_One_Interp): an operator for a type declared in
9685         an extension of System is known to be visible.
9686
9687 2001-10-11  Ed Schonberg <schonber@gnat.com>
9688
9689         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
9690         properly. Fixes regression on ACATS C34005G.
9691
9692 2001-10-11  Robert Dewar <dewar@gnat.com>
9693
9694         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
9695         loop in generic instance, since this is likely not very useful.
9696
9697 2001-10-11  Robert Dewar <dewar@gnat.com>
9698
9699         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
9700         the error message for high integrity mode.
9701
9702         * rtsfind.adb (RTE): Give message if we try to find an entity that
9703         is not available in high integrity mode.
9704
9705         * rtsfind.ads:
9706         (OK_To_Use_In_HIE_Mode): New array.
9707         (RTE): May return Empty in high integrity mode.
9708
9709         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
9710         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
9711
9712         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
9713         unit if not inlined always and in no runtime mode. Fixes problem
9714         caused by new Rtsfind changes.
9715
9716         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
9717         body is deleted.
9718
9719         * rtsfind.adb (RTE): Make sure we do not try to load unit after
9720         giving message for entity not available in high integrity mode.
9721
9722 2001-10-11  Pascal Obry <obry@gnat.com>
9723
9724         * impunit.adb: Add GNAT.CRC32.
9725
9726 2001-10-11  Ed Schonberg <schonber@gnat.com>
9727
9728         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
9729         properly the case where one universal operand in a non-static
9730         exponentiation of a real literal.
9731
9732 2001-10-11  Ed Schonberg <schonber@gnat.com>
9733
9734         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
9735         clause, return the gobal finalization list, for lack of anthing else.
9736
9737 2001-10-11  Ed Schonberg <schonber@gnat.com>
9738
9739         * exp_ch7.adb (Make_Transient_Block): if statement is within
9740         exception handler, always use new transient scope to place Clean
9741         procedure.
9742
9743 2001-10-11  Pascal Obry <obry@gnat.com>
9744
9745         * Makefile.in:
9746         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
9747         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
9748         (GNATLS_RTL_OBJS): add g-crc32.o
9749         (GNATMAKE_RTL_OBJS): add g-crc32.o
9750
9751         * ali-util.adb:
9752         (CRC_Match): new function.
9753         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
9754         instead of the previous simple checksum algorithm.
9755         (Time_Stamp_Mismatch): use CRC_Match for comparison.
9756         (Set_Source_Table): idem.
9757
9758         * ali-util.ads:
9759         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
9760         instead of simple checksum.
9761         (CRC_Match): new function.
9762         (CRC_Error): new constant.
9763
9764         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
9765         a CRC now and not a simple checksum. A CRC uses lower-case hex
9766         letters, fixes ambiguity in parsing.
9767
9768         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
9769         is what this variable will store.
9770
9771         * bcheck.adb: Change reference to chechsum in comments by CRC.
9772         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
9773         rename All_Checksum_Match to All_CRC_Match. Change due to API
9774         renaming since now GNAT does not use a simple checksum but a
9775         CRC using GNAT.CRC32.
9776
9777         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
9778         now and not anymore a simple checksum.
9779
9780         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
9781         places.
9782
9783         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
9784
9785         * scans.adb:
9786         (Restore_Scan_State): rename Checksum to CRC.
9787         (Save_Scan_State): idem.
9788
9789         * scans.ads:
9790         With GNAT.CRC32.
9791         (Checksum): rename to CRC.
9792         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
9793
9794         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
9795         GNAT.CRC32).  Update copyright notice.
9796
9797         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
9798         GNAT.CRC32).  Update copyright notice.
9799
9800         * scn.adb:
9801         (Accumulate_Checksum): removed.
9802         (Update): new procedure. Add a wide-character into the CRC.
9803
9804         * sinput-l.adb:
9805         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
9806         (Load_File): fix initialization of S (change Source_Checksum to
9807         Source_CRC)
9808
9809         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
9810         Source_CRC in S initialization.
9811
9812         * sinput.adb (Source_Checksum): renamed to Source_CRC.
9813
9814         * sinput.ads (Source_Checksum): renamed to Source_CRC.
9815         Update comments for the CRC.
9816
9817         * types.adb (Hex): Use lowercase for the letter part.
9818
9819         * types.ads (Get_Hex_String): Returns the hexadecimal representation
9820         for a word. This is currently used only for CRC. In previous version,
9821         the checksum was using a representation with all letter being
9822         upper-case. With the new implementation (using CRC) we do not remove
9823         the 32th bit of the CRC, so we can have an upper-case starting letter
9824         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
9825         It is ambigous since the CRC was optional and could be followed by
9826         options like EB, EE. So now this routines uses lower-case letter for
9827         the hexadecimal representation. Strange enough only lower case letters
9828         where checked in Scan_ALI (even if this was not a possible case).
9829
9830         * gnatvsn.ads (Library_Version): changed to 3.15a.
9831
9832         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
9833         for the compiler.
9834
9835         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
9836         for the compiler.
9837
9838         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
9839         Add 2001 to copyright notice
9840         (Accumulate_Checksum): Modify to use System.CRC32.
9841
9842         * ali-util.ads: Redo changes of previous revision to continue to use
9843         the word Checksum. Add 2001 to copyright notice.
9844
9845         * ali.adb: Undo some of previous changes, not needed.
9846         Keep the change for lower case letters in the checksum.
9847
9848         * ali.ads: Undo previous change not needed.
9849
9850         * bcheck.adb: Undo most of previous change, not needed.
9851         But do use Checksums_Match for checksum comparison.
9852
9853         * gnatls.adb: Undo most of previous change, not needed.
9854         But do use Checksums_Match for comparing checksums.
9855
9856         * lib-load.adb: Undo previous change, not needed.
9857
9858         * lib-writ.adb: Undo previous change, not needed.
9859
9860         * lib-writ.ads: Document that checksums use lower case,
9861         not upper case letters.
9862
9863         * scans.adb: Undo previous change, not needed
9864
9865         * scans.ads: Undo previous change, not needed.
9866
9867         * scn-nlit.adb: Undo previous changes, not needed.
9868
9869         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
9870
9871         * scn.adb:
9872         (Accumulate_Checksum): Use System.CRC32.
9873         (Initialize_Checksum): New procedure.
9874         Remove other changes of previous revision.
9875
9876         * sinput-p.adb: Undo previous change, not needed.
9877
9878         * sinput.adb: Undo previous change, not needed.
9879
9880         * sinput-l.adb: Undo previous change, not needed.
9881
9882         * sinput.ads: Undo previous change, not needed.  Keep only comment
9883         on new checksum algorithm
9884
9885         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
9886         Also remove a-tags and a-stream from GNAT sources.
9887
9888         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
9889
9890         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
9891
9892 2001-10-11  Geert Bosch  <bosch@gnat.com>
9893
9894         * einfo.h: Regenerate.
9895
9896         * nmake.ads: Regenerate.
9897
9898         * nmake.adb: Regenerate.
9899
9900         * sinfo.h: Regenerate.
9901
9902         * treeprs.adb: Regenerate.
9903
9904 2001-10-10  Geert Bosch  <bosch@gnat.com>
9905
9906         * gnat-style.texi: New file describing coding guidelines for Ada.
9907
9908 2001-10-10  Ed Schonberg <schonber@gnat.com>
9909
9910         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
9911         is Flag174.
9912
9913 2001-10-10  Geert Bosch  <bosch@gnat.com>
9914
9915         * snames.ads: Add new names for project facility.
9916
9917         * snames.adb: Update to reflect snames.ads changes.
9918
9919         * snames.h: Update to reflect snames.ads changes.
9920
9921 2001-10-10  Vincent Celier <celier@gnat.com>
9922
9923         * make.adb:
9924         (Add_Switches): reflect the changes for the switches attributes
9925         Default_Switches indexed by the programming language,
9926         Switches indexed by the file name.
9927         (Collect_Arguments_And_Compile): Idem.
9928         Reflect the attribute name changes.
9929
9930         * prj-attr.adb:
9931         (Initialisation_Data): Change the names of some packages and
9932         attributes.
9933         (Initialize): process case insensitive associative arrays.
9934
9935         * prj-attr.ads:
9936         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
9937
9938         * prj-dect.adb:
9939         (Parse_Attribute_Declaration): For case insensitive associative
9940          arrays, set the index string to lower case.
9941
9942         * prj-env.adb:
9943         Reflect the changes of the project attributes.
9944
9945         * prj-nmsc.adb:
9946         Replace Check_Naming_Scheme by Ada_Check and
9947         Language_Independent_Check.
9948
9949         * prj-nmsc.ads:
9950         Replaced Check_Naming_Scheme by 2 procedures:
9951         Ada_Check and Language_Independent_Check.
9952
9953         * prj-proc.adb:
9954         (Process_Declarative_Items): For case-insensitive associative
9955         arrays, set the index string to lower case.
9956         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
9957         Prj.Nmsc.Check_Naming_Scheme.
9958
9959         * prj-tree.adb:
9960         (Case_Insensitive): New function
9961         (Set_Case_Insensitive): New procedure
9962
9963         * prj-tree.ads:
9964         (Case_Insensitive): New function
9965         (Set_Case_Insensitive): New procedure
9966         (Project_Node_Record): New flag Case_Insensitive.
9967
9968         * prj-util.adb:
9969         (Value_Of): new function to get the string value of a single
9970         string variable or attribute.
9971
9972         * prj-util.ads:
9973         (Value_Of): new function to get the string value of a single
9974         string variable or attribute.
9975
9976         * prj.adb:
9977         (Ada_Default_Spec_Suffix): New function
9978         (Ada_Default_Impl_Suffix): New function
9979         Change definitions of several constants to reflect
9980         new components of record types.
9981
9982         * prj.ads:
9983         (Naming_Data): Change several components to reflect new
9984         elements of naming schemes.
9985         (Project_Data): New flags Sources_Present and
9986         Language_Independent_Checked.
9987         (Ada_Default_Spec_Suffix): New function.
9988         (Ada_Default_Impl_Suffix): New function.
9989
9990         * snames.ads:
9991         Modification of predefined names for project manager: added
9992         Implementation, Specification_Exceptions, Implementation_Exceptions,
9993         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
9994         Default_Switches, _Languages, Builder, Cross_Reference,
9995         Finder. Removed Body_Part, Specification_Append, Body_Append,
9996         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
9997         Gnatlink.
9998
9999         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
10000         Add comments.
10001
10002         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
10003         not that it is Nil_Variable_Value.
10004
10005         * prj.ads: Add ??? for uncommented declarations
10006
10007 2001-10-10  Ed Schonberg <schonber@gnat.com>
10008
10009         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
10010         constant, do not indicate possible modification, so that gigi can
10011         treat it as a bona fide constant.
10012
10013 2001-10-10  Robert Dewar <dewar@gnat.com>
10014
10015         * sem_prag.adb: Add processing for pragma External.
10016
10017         * snames.ads: Add entry for pragma External.
10018
10019         * par-prag.adb: Add pragma External.
10020
10021         * snames.adb: Updated to match snames.ads.
10022
10023 2001-10-10  Ed Schonberg <schonber@gnat.com>
10024
10025         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
10026         a dynamic task if the allocator appears in an indexed assignment
10027         or selected component assignment.
10028
10029         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
10030         For a dynamic task in an assignment statement, use target of
10031         assignment to generate meaningful name.
10032
10033 2001-10-10  Ed Schonberg <schonber@gnat.com>
10034
10035         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
10036         a generic package.
10037
10038         * einfo.ads: Body_Entity is also defined for generic package.
10039         Documentation change only
10040
10041         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
10042         others_choice for a discriminated component initialization,
10043         convert discriminant references into the corresponding discriminals.
10044
10045         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
10046         only if original type is private and expression has to be wrapped
10047         in a conversion.
10048
10049         * checks.adb:
10050         (Apply_Constraint_Check): Do not perform length check
10051         if expression is an aggregate with only an others_choice.
10052         (Length_N_Cond): two references to the same in_parameter
10053         (typically the discriminal in an init_proc) denote the same value.
10054         Two useful optimization uncovered by bugfixes above.
10055
10056 2001-10-10  Robert Dewar <dewar@gnat.com>
10057
10058         * xeinfo.adb: Change int to char in translation of enumeration types.
10059         This fixes a problem in the C representation of component alignment.
10060         Add 2001 to copyright notice
10061
10062 2001-10-10  Richard Kenner <kenner@gnat.com>
10063
10064         * decl.c: (validate_size): Do check size of object of integral type
10065         if it is a packed array type.
10066
10067 2001-10-10  Richard Kenner <kenner@gnat.com>
10068
10069         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
10070         VAR_DECL for constant if not Is_Public but -O0.
10071
10072 2001-10-10  Richard Kenner  <kenner@gnat.com>
10073
10074         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
10075
10076 2001-10-10  Geert Bosch  <bosch@gnat.com>
10077
10078         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
10079         use '/' as switch character, allowing for absolute file names.
10080
10081 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
10082
10083         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
10084         FSF address.
10085
10086 2001-10-08  Geert Bosch  <bosch@gnat.com>
10087
10088         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
10089         Automatically build utilities when files need to be regenerated.
10090
10091 2001-10-08  Geert Bosch  <bosch@gnat.com>
10092
10093         * xsnames.adb: New utility for updating snames.ads and snames.adb
10094
10095 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
10096
10097         * Make-lang.in (ADAFLAGS): Add -W -Wall.
10098         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
10099         (gnat1): Also depend on attribs.o.
10100         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
10101         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
10102         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
10103         (ADAFLAGS): Add -W -Wall.
10104         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
10105         take out CFLAGS.
10106
10107         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
10108         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
10109         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
10110         Use $(ADAC), not $(CC), as compilation command.
10111
10112         (gnattools): Depend directly on tools to build, don't use
10113         recursive make.
10114         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
10115
10116         * einfo.h, sinfo.h: New files (autogenerated).
10117
10118 2001-10-08  Richard Henderson  <rth@redhat.com>
10119
10120         * comperr.adb (Abort_In_Progress): New.
10121         (Compiler_Abort): Use it to prevent recursion.
10122
10123 2001-10-08  Robert Dewar <dewar@gnat.com>
10124
10125         * atree.adb: Set Error_Posted in Error node, helps error recovery.
10126
10127         * par-endh.adb (Output_End_Expected): We should also not test
10128         Error_Posted on the Error node, since now it is always set.
10129
10130         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
10131         to help error recovery. Part of general work on 9407-004.
10132
10133         * par.adb: Add ??? for misuse of error
10134
10135         * sem_res.adb:
10136         (Resolve): Defend against Error, fixes 9407-003.
10137         (Resolve_Discrete_Subtype_Indication): Defend against Error.
10138
10139         * sinfo.ads (N_Error): Now has Etype field (which will be set
10140         to Any_Type to help error recovery).
10141
10142 2001-10-08  Richard Kenner (kenner@gnat.com)
10143
10144         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
10145         Consistently set MEM attributes from expression; fixes
10146         bootstrap failure on x86.
10147
10148 2001-10-08  Geert Bosch  (bosch@gnat.com)
10149
10150         * 5oosinte.adb: Add 2001 to copyright notice.
10151
10152 2001-10-08  Geert Bosch  (bosch@gnat.com)
10153
10154         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
10155
10156         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
10157
10158 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
10159
10160         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
10161
10162 2001-10-05  Geert Bosch  (bosch@gnat.com)
10163
10164         * adaint.h: Small formatting fix.
10165
10166 2001-10-04  Geert Bosch  <bosch@gnat.com>
10167
10168         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
10169         Arg is int, not FILE *, in dummy version of functions.
10170
10171         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
10172         Arg is int, not FILE *.
10173
10174 2001-10-04  Geert Bosch  <bosch@gnat.com>
10175
10176         * 3lsoccon.ads: Added file, missed with initial check ins.
10177
10178         * 4lintnam.ads: Fix header format.
10179         Change Linux to GNU/Linux.
10180
10181         * 5iosinte.adb: Change Linux to GNU/Linux.
10182
10183         * 5iosinte.ads: Change Linux to GNU/Linux.
10184
10185         * 5itaprop.adb: Change Linux to GNU/Linux.
10186
10187         * 5itaspri.ads: Change Linux to GNU/Linux.
10188         Update copyright notice.
10189
10190         * 5lintman.adb: Change Linux to GNU/Linux.
10191
10192         * 5lml-tgt.adb: Change Linux to GNU/Linux.
10193
10194         * 5losinte.ads: Change Linux to GNU/Linux.
10195
10196         * 5lsystem.ads: Change Linux to GNU/Linux.
10197
10198         * 5qosinte.adb: Change Linux to GNU/Linux.
10199
10200         * 5qosinte.ads: Change Linux to GNU/Linux.
10201
10202         * 5qparame.ads: Change Linux to GNU/Linux.
10203
10204         * 5qtaprop.adb: Change Linux to GNU/Linux.
10205
10206         * 5qtaspri.ads: Change Linux to GNU/Linux.
10207         Add 2001 to copyright notice.
10208
10209         * 5vintman.ads: Change Linux to GNU/Linux.
10210         Fix header format.  Add 2001 to copyright notice.
10211
10212         * g-soccon.ads: Change Linux to GNU/Linux.
10213
10214         * g-trasym.ads: Change Linux to GNU/Linux.
10215         Add 2001 to copyright notice.
10216
10217         * memtrack.adb: Change Linux to GNU/Linux.
10218
10219         * s-intman.ads: Change Linux to GNU/Linux.
10220         Add 2001 to copyright notice.  Fix header format.
10221
10222         * s-stache.adb: Change Linux to GNU/Linux.
10223
10224         * adaint.c: Change Linux to GNU/Linux.
10225
10226         * cio.c: Change Linux to GNU/Linux.
10227
10228         * cstreams.c: Change Linux to GNU/Linux.
10229
10230         * init.c: Change Linux to GNU/Linux.
10231
10232         * gmem.c: Change Linux to GNU/Linux.
10233
10234         * tracebak.c: Change Linux to GNU/Linux.
10235
10236
10237 2001-10-02  Geert Bosch  <bosch@gnat.com>
10238
10239         * misc.c (insert_default_attributes): Add dummy version.