OSDN Git Service

* c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
2
3         * misc.c: Delete traditional-mode-related code copied from the
4         C front end but not used, or used only to permit the compiler
5         to link.
6
7 2002-02-07  Richard Henderson  <rth@redhat.com>
8
9         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
10         * adaint.h (__gnat_to_gm_time): Update prototype.
11
12 2002-01-30  Richard Henderson  <rth@redhat.com>
13
14         * trans.c (tree_transform) [N_Loop_Statement]: Use
15         expand_exit_loop_top_cond.
16
17 2001-12-23  Richard Henderson  <rth@redhat.com>
18
19         * utils.c (end_subprog_body): Push GC context around
20         rest_of_compilation for nested functions.
21
22 2001-12-23  Richard Henderson  <rth@redhat.com>
23
24         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
25
26 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
27
28         * gnat-style.texi (Declarations and Types): Remove ancient style
29         rule which was mandated by code generation issues.
30         
31         * gnat-style.texi (header): Add @dircategory, @direntry.
32         (title page): Remove date.
33         (general) Add @./@: where approriate, and two spaces after the
34         full stop at the end of a sentence.  Use @samp markup when
35         referring concrete lexical entities (keywords, attribute names
36         etc.), and @syntax for ARM grammar elements. Use @r for English
37         text in comments.  Use @emph for emphasis.  Change "if-statements"
38         etc. to "if statements" (without @samp). Break long lines.  Make
39         casing of section names consistent.
40         (Identifiers): Use @samp markup for variable names.
41         (Comments): Use @samp markup for comment characters. Line-end
42         comments may follow any Ada code, not just statements.  Fix
43         misspelling of "Integer" as "integer".
44         (Loop statements): Do not use variable name "I", use "J".
45         (Subprogram Declarations): Document alignment.
46         (Subprogram Bodies, Block statements): Document empty line before
47         "begin".
48
49 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
50
51         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
52         function approach did not work well because of a side effect (the
53         function call could reallocate the table which was being indexed
54         using its result). Fixes ada/4851.
55
56 2001-12-19  Robert Dewar <dewar@gnat.com>
57
58         * bindgen.adb: Minor reformatting
59         
60         * cstand.adb: Minor reformatting
61         
62         * fmap.adb: Minor reformatting
63         Change name from Add for Add_To_File_Map (Add is much too generic)
64         Change Path_Name_Of to Mapped_Path_Name
65         Change File_Name_Of to Mapped_File_Name
66         Fix copyright dates in header
67         
68         * fmap.ads:
69         Change name from Add for Add_To_File_Map (Add is much too generic)
70         Change Path_Name_Of to Mapped_Path_Name
71         Change File_Name_Of to Mapped_File_Name
72         Fix copyright dates in header
73         
74         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
75         Add use clause for Fmap.
76         
77         * make.adb: Minor reformatting
78         
79         * osint.adb: Minor reformatting.  Change of names in Fmap.
80         Add use clause for Fmap.
81         
82         * prj-env.adb: Minor reformatting
83         
84         * prj-env.ads: Minor reformatting
85         
86         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if 
87         error found (there were odd exceptions to this general rule in 
88         -gnatec/-gnatem processing)
89         
90 2001-12-19  Olivier Hainque <hainque@gnat.com>
91
92         * raise.c (__gnat_eh_personality): Exception handling personality 
93         routine for Ada.  Still in rough state, inspired from the C++ version 
94         and still containing a bunch of debugging artifacts.
95         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also 
96         inspired from the C++ library.
97         
98         * raise.c (eh_personality): Add comments. Part of work for the GCC 3 
99         exception handling integration.
100         
101 2001-12-19  Arnaud Charlet <charlet@gnat.com>
102
103         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
104         (HIE_SOURCES): Add s-secsta.ad{s,b}.
105         (HIE_OBJS): Add s-fat*.o
106         (RAVEN_SOURCES): Remove files that are no longer required. Add 
107         interrupt handling files.
108         (RAVEN_MOD): Removed, no longer needed.
109         
110 2001-12-19  Robert Dewar <dewar@gnat.com>
111
112         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
113         Add 2001 to copyright date
114         
115         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no 
116         need to force universal inlining for these cases.
117         
118 2001-12-19  Arnaud Charlet <charlet@gnat.com>
119
120         * s-taprob.adb: Minor clean ups so that this unit can be used in 
121         Ravenscar HI.
122         
123         * exp_ch7.adb: Allow use of secondary stack in HI mode.
124         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
125         
126 2001-12-19  Vincent Celier <celier@gnat.com>
127
128         * prj-tree.ads (Project_Node_Record): Add comments for components 
129         Pkg_Id and Case_Insensitive.
130         
131 2001-12-19  Pascal Obry <obry@gnat.com>
132
133         * g-socket.adb: Minor reformatting. Found while reading code.
134         
135 2001-12-19  Robert Dewar <dewar@gnat.com>
136
137         * prj-tree.ads: Minor reformatting
138
139 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
140
141         * config-lang.in (diff_excludes): Remove.
142
143 2001-12-17  Ed Schonberg <schonber@gnat.com>
144
145         * sem_res.adb (Resolve_Selected_Component): do not generate a 
146         discriminant check if the selected component is a component of 
147         the argument of an initialization procedure.
148
149         * trans.c (tree_transform, case of arithmetic operators): If result 
150         type is private, the gnu_type is the base type of the full view, 
151         given that the full view itself may be a subtype.
152         
153 2001-12-17  Robert Dewar <dewar@gnat.com>
154
155         * sem_res.adb: Minor reformatting
156         
157         * trans.c (tree_transform, case N_Real_Literal): Add missing third 
158         parameter in call to Machine (unknown horrible effects from this 
159         omission).
160         
161         * urealp.h: Add definition of Round_Even for call to Machine
162         Add third parameter for Machine
163         
164 2001-12-17  Ed Schonberg <schonber@gnat.com>
165
166         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on 
167         predefined units in No_Run_Time mode.
168         
169 2001-12-17  Richard Kenner <kenner@gnat.com>
170
171         * misc.c (insn-codes.h): Now include.
172         
173 2001-12-17  Olivier Hainque <hainque@gnat.com>
174
175         * a-except.adb: Preparation work for future integration of the GCC 3 
176         exception handling mechanism
177         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
178         to factorize previous code sequences and make them externally callable,
179         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
180         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
181         Use the new notification routines.
182         
183 2001-12-17  Emmanuel Briot <briot@gnat.com>
184
185         * prj-tree.ads (First_Choice_Of): Document the when others case
186         
187 2001-12-17  Arnaud Charlet <charlet@gnat.com>
188
189         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in 
190         HI-E mode, in order to support Ravenscar profile properly.
191         
192         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E 
193         mode on 32 bits targets.
194         
195 2001-12-17  Vincent Celier <celier@gnat.com>
196
197         * fmap.adb: Initial version.
198         
199         * fmap.ads: Initial version.
200         
201         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
202         If search is successfully done, add to mapping.
203         
204         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
205         
206         * make.adb:
207         (Gnatmake): Add new local variable Mapping_File_Name.
208          Create mapping file when using project file(s).
209          Delete mapping file before exiting.
210         
211         * opt.ads (Mapping_File_Name): New variable
212         
213         * osint.adb (Find_File): Use path name found in mapping, if any.
214         
215         * prj-env.adb (Create_Mapping_File): New procedure
216         
217         * prj-env.ads (Create_Mapping_File): New procedure.
218         
219         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem 
220         (Mapping_File)
221         
222         * usage.adb: Add entry for new switch -gnatem.
223         
224         * Makefile.in: Add dependencies for fmap.o.
225         
226 2001-12-17  Ed Schonberg <schonber@gnat.com>
227
228         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit 
229         is a package instantiation rewritten as a package body.
230         (Install_Withed_Unit): Undo previous change, now redundant.
231         
232 2001-12-17  Gary Dismukes <dismukes@gnat.com>
233
234         * layout.adb:
235         (Compute_Length): Move conversion to Unsigned to callers.
236         (Get_Max_Size): Convert Len expression to Unsigned after calls to
237         Compute_Length and Determine_Range.
238         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
239         Compute_Length and Determine_Range.
240         Above changes fix problem with length computation for supernull arrays
241         where Max (Len, 0) wasn't getting applied due to the Unsigned 
242         conversion used by Compute_Length.
243         
244 2001-12-17  Arnaud Charlet <charlet@gnat.com>
245
246         * rtsfind.ads:
247         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
248          System.Secondary_Stack.
249         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
250          in HI-E mode.
251         Remove unused entity RE_Exception_Data.
252         
253         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
254         
255         * rident.ads (No_Secondary_Stack): New restriction.
256
257 2001-12-17  Joel Brobecker <brobecke@gnat.com>
258
259         * gnat_rm.texi: Fix minor typos. Found while reading the section 
260         regarding "Bit_Order Clauses" that was sent to a customer.
261         Very interesting documentation!
262         
263 2001-12-17  Robert Dewar <dewar@gnat.com>
264
265         * sem_case.adb (Choice_Image): Avoid creating improper character 
266         literal names by using the routine Set_Character_Literal_Name. This 
267         fixes bombs in certain error message cases.
268         
269 2001-12-17  Arnaud Charlet <charlet@gnat.com>
270
271         * a-reatim.adb: Minor reformatting.
272         
273 2001-12-17  Ed Schonberg <schonber@gnat.com>
274
275         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the 
276         case where the formal is an extension of another formal in the current 
277         unit or in a parent generic unit.
278         
279 2001-12-17  Arnaud Charlet <charlet@gnat.com>
280
281         * s-tposen.adb: Update comments.  Minor reformatting. 
282         Minor code clean up.
283         
284         * s-tarest.adb: Update comments.  Minor code reorganization.
285         
286 2001-12-17  Gary Dismukes <dismukes@gnat.com>
287
288         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag 
289         when Java_VM.
290         
291 2001-12-17  Robert Dewar <dewar@gnat.com>
292
293         * exp_attr.adb: Minor reformatting
294         
295 2001-12-17  Ed Schonberg <schonber@gnat.com>
296
297         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle 
298         derivations nested within a child unit: verify that the parent
299         type is declared in an outer scope.
300         
301 2001-12-17  Robert Dewar <dewar@gnat.com>
302
303         * sem_ch12.adb: Minor reformatting
304         
305 2001-12-17  Ed Schonberg <schonber@gnat.com>
306
307         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post 
308         warning if current unit is a predefined one, from which bodies may 
309         have been deleted.
310         
311 2001-12-17  Robert Dewar <dewar@gnat.com>
312
313         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
314         Fix header format. Add 2001 to copyright date.
315         
316         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference, 
317         which caused CE during compilation if checks were enabled.
318
319 2001-12-17  Vincent Celier <celier@gnat.com>
320
321         * make.adb:
322         (Switches_Of): New function
323         (Test_If_Relative_Path): New procedure
324         (Add_Switches): Use new function Switches_Of
325         (Collect_Arguments_And_Compile): Use new function Switches_Of.
326         When using a project file, test if there are any relative
327         search path. Fail if there are any.
328         (Gnatmake): Only add switches for the primary directory when not using 
329         a project file. When using a project file, change directory to the 
330         object directory of the main project file. When using a project file, 
331         test if there are any relative search path. Fail if there are any. 
332         When using a project file, fail if specified executable is relative 
333         path with directory information, and prepend executable, if not 
334         specified as an absolute path, with the exec directory.  Make sure 
335         that only one -o switch is transmitted to the linker.
336         
337         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
338         
339         * prj-nmsc.adb:
340         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
341         when using a non standard naming scheme.
342         (Check_Ada_Naming_Scheme): Make sure that error messages
343         do not raise exceptions.
344         (Is_Illegal_Append): Return True if there is no dot in the suffix.
345         (Language_Independent_Check): Check the exec directory.
346         
347         * prj.adb (Project_Empty): Add new component Exec_Directory
348         
349         * prj.ads:
350         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
351         (Project_Data): Add component Exec_Directory
352         
353         * snames.adb: Updated to match snames.ads revision 1.215
354         
355         * snames.ads: Added Exec_Dir
356         
357 2001-12-17  Robert Dewar <dewar@gnat.com>
358
359         * make.adb: Minor reformatting
360         
361         * prj-nmsc.adb: Minor reformatting
362         
363         * snames.adb: Updated to match snames.ads
364         
365         * snames.ads: Alphebetize entries for project file
366
367 2001-12-17  Ed Schonberg <schonber@gnat.com>
368
369         * trans.c (process_freeze_entity): Do nothing if the entity is a 
370         subprogram that was already elaborated.
371         
372 2001-12-17  Richard Kenner <kenner@gnat.com>
373         
374         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment 
375         and Esize if object is referenced via pointer.
376
377 2001-12-17  Ed Schonberg <schonber@gnat.com>
378
379         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant 
380         is discrete before analyzing choices.
381         
382 2001-12-17  Joel Brobecker <brobecke@gnat.com>
383
384         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string 
385         containing the name of the Ada Main Program. This string is mainly 
386         intended for the debugger.
387         (Gen_Output_File_C): Do the equivalent change when generating a C file.
388         
389 2001-12-17  Robert Dewar <dewar@gnat.com>
390
391         * ali.adb: Set new Dummy_Entry field in dependency entry
392         
393         * ali.ads: Add Dummy_Entry field to source dependency table
394         
395         * bcheck.adb (Check_Consistency): Ignore dummy D lines
396         
397         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
398         
399         * lib-writ.ads: Document dummy D lines for missing files.
400         
401         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
402
403 2001-12-17  Robert Dewar <dewar@gnat.com>
404
405         * ali.adb: Type reference does not reset current file.
406         
407         * ali.adb: Recognize and scan renaming reference
408         
409         * ali.ads: Add spec for storing renaming references.
410         
411         * lib-xref.ads: Add documentation for handling of renaming references
412         
413         * lib-xref.adb: Implement output of renaming reference.
414         
415         * checks.adb:
416         (Determine_Range): Document local variables
417         (Determine_Range): Make sure Hbound is initialized. It looks as though
418          there could be a real problem here with an uninitialized reference
419          to Hbound, but no actual example of failure has been found.
420         
421 2001-12-17  Laurent Pautet <pautet@gnat.com>
422
423         * g-socket.ads:
424         Fix comment of Shutdown_Socket and Close_Socket. These functions
425         should not fail silently because if they are called twice, this
426         probably means that there is a race condition in the user program.
427         Anyway, this behaviour is consistent with the rest of this unit.
428         When an error occurs, an exception is raised with the error message
429         as exception message.
430
431 2001-12-17  Robert Dewar <dewar@gnat.com>
432
433         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so 
434         that it happens before modification of Sloc values for -gnatD.
435         
436         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend, 
437         so that it happens before modification of Sloc values for -gnatD.
438         
439         * switch.adb: Minor reformatting
440
441 2001-12-15  Richard Henderson  <rth@redhat.com>
442
443         * sem_ch7.adb: Wrap comment.
444
445 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
446
447         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
448         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
449         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
450         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
451         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
452         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
453         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
454         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
455         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
456         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
457         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
458         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
459         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
460         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
461         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
462         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
463         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
464         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
465         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
466         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
467         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
468         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
469         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
470         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
471         spelling errors.
472
473 2001-12-14  Vincent Celier <celier@gnat.com>
474
475         * osint.adb(Create_Debug_File): When an object file is specified, 
476         put the .dg file in the same directory as the object file.
477         
478 2001-12-14  Robert Dewar <dewar@gnat.com>
479
480         * osint.adb: Minor reformatting
481         
482         * lib-xref.adb (Output_Instantiation): New procedure to generate 
483         instantiation references.
484         
485         * lib-xref.ads: Add documentation of handling of generic references.
486         
487         * ali.adb (Read_Instantiation_Ref): New procedure to read 
488         instantiation references
489         
490         * ali.ads: Add spec for storing instantiation references
491         
492         * bindusg.adb: Minor reformatting
493         
494         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
495         
496         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
497         
498         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
499         
500         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
501         
502         * csets.ads:
503         Fix header format
504         Add 2001 to copyright date
505         Add entry for Latin-5 (Cyrillic ISO-8859-5)
506         
507 2001-12-14  Matt Gingell <gingell@gnat.com>
508
509         * adaint.c: mktemp is a macro on Lynx and can not be used as an 
510         expression.
511         
512 2001-12-14  Richard Kenner <kenner@gnat.com>
513
514         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR 
515         if operand is CONSTRUCTOR.
516         
517 2001-12-14  Ed Schonberg <schonber@gnat.com>
518
519         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno 
520         before emiting check on right-hand side, so that exception information 
521         is correct.
522
523 2001-12-14  Richard Kenner <kenner@gnat.com>
524         
525         * utils.c (create_var_decl): Throw away initializing expression 
526         if just annotating types and non-constant.
527         
528 2001-12-14  Vincent Celier <celier@gnat.com>
529
530         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
531         Default_Ada_...
532         
533         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix): 
534         Remove functions.
535         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
536         
537         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix): 
538         Remove functions.
539         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
540
541 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
542
543         * ChangeLog: Remove piece of diff output.
544
545 2001-12-14  Geert Bosch <bosch@gnat.com>
546
547         * config-lang.in: Update copyright notice
548
549         * layout.adb: Remove commented out code.
550
551         * mdllfile.ads: Update copyright notice. Fix header format.
552
553         * sem_case.ads: Likewise.
554
555         * sem_ch3.adb: Minor reformatting.
556
557 2001-12-12  Geert Bosch <bosch@gnat.com>
558
559         * freeze.ads: Update copyright date.
560
561         * g-comlin.ads: Minor reformatting.
562
563         * gnat-style.texi: Fix typo.
564
565 2001-12-12  Geert Bosch <bosch@gnat.com>
566
567         *  einfo.h: Regenerate.
568
569 2001-12-12  Ed Schonberg <schonber@gnat.com>
570
571         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names 
572         on known node types, rather than untyped fields. Further cleanups.
573         
574 2001-12-12  Robert Dewar <dewar@gnat.com>
575
576         * sem_ch12.adb:
577         (Save_Entity_Descendant): Minor comment update.
578         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
579          of an N_Attribute_Reference node. As per note below, this does not 
580         eliminate need for Associated_Node in attribute ref nodes.
581         (Associated_Node): Documentation explicitly mentions attribute 
582         reference nodes, since this field is used in such nodes.
583         
584         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
585
586 2001-12-12  Robert Dewar <dewar@gnat.com>
587
588         * s-stalib.adb: Add more comments on with statements being needed
589         
590         * par-ch12.adb: Minor reformatting
591         
592         * prj-dect.ads: Fix copyright header
593         
594         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both 
595         inputs fit in 32 bits, but the result still overflows.
596         
597         * s-fatgen.ads: Minor comment improvement
598         
599 2001-12-12  Ed Schonberg <schonber@gnat.com>
600
601         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a 
602         formal derived type, look for an inherited component from the full 
603         view of the parent, if any.
604         
605 2001-12-12  Robert Dewar <dewar@gnat.com>
606
607         * checks.ads (Apply_Alignment_Check): New procedure.
608         
609         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to 
610         ensure that the alignment of objects with address clauses is 
611         appropriate, and raise PE if not.
612
613         * exp_util.ads (Must_Be_Aligned): Removed, replaced by 
614         Exp_Pakd.Known_Aligned_Enough
615         
616         * mdllfile.ads: Minor reformatting
617
618         * mlib-fil.ads: Minor reformatting
619         
620 2001-12-12  Ed Schonberg <schonber@gnat.com>
621
622         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous 
623         fix to any component reference if enclosing record has non-standard 
624         representation.
625         
626 2001-12-12  Vincent Celier <celier@gnat.com>
627
628         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package 
629         Iteration
630         
631 2001-12-12  Ed Schonberg <schonber@gnat.com>
632
633         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in 
634         sem_attr.
635         
636 2001-12-12  Robert Dewar <dewar@gnat.com>
637
638         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
639         
640 2001-12-12  Emmanuel Briot <briot@gnat.com>
641
642         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
643         and it adds dependencies to system.io.
644         
645 2001-12-12  Pascal Obry <obry@gnat.com>
646
647         * g-dirope.adb (Expand_Path.Var): Correctly detect end of 
648         variable name.
649
650 2001-12-11  Ed Schonberg <schonber@gnat.com>
651
652         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
653         that is the parent of other generics, the instance body replaces the 
654         instance node.  Retrieve the instance of the spec, which is the one 
655         that is visible in clients and within the body.
656
657 2001-12-11  Vincent Celier <celier@gnat.com>
658
659         * gnatmain.adb: Initial version.
660         
661         * gnatmain.ads: Initial version.
662         
663         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
664         
665         * snames.adb: Updated to match snames.ads.
666         
667         * snames.ads: Added Gnatstub.
668         
669 2001-12-11  Vincent Celier <celier@gnat.com>
670
671         * prj-attr.adb (Initialization_Data): Change name from 
672         Initialisation_Data.
673         
674 2001-12-11  Emmanuel Briot <briot@gnat.com>
675
676         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
677         + and * applied to backslashed expressions like \r.
678         
679 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
680
681         * g-os_lib.ads: String_List type added, Argument_List type is now 
682         subtype of String_List.
683         
684 2001-12-11  Robert Dewar <dewar@gnat.com>
685
686         * g-os_lib.ads: Change copyright to FSF
687         Add comments for String_List type
688         
689 2001-12-11  Vincent Celier <celier@gnat.com>
690
691         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a 
692         string to the buffer).
693
694 2001-12-11  Ed Schonberg <schonber@gnat.com>
695
696         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
697         sem_attr.
698         
699         * sem_attr.adb: Simplify previous fix for Address.
700         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now, 
701         to avoid anomalies where the bound of the type appears to raise 
702         constraint error.
703
704 2001-12-11  Robert Dewar <dewar@gnat.com>
705
706         * lib-xref.adb (Output_Refs): Make sure pointers are always properly 
707         handled.
708         
709 2001-12-11  Ed Schonberg <schonber@gnat.com>
710
711         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a 
712         renamed unit before checking for recursive instantiations.
713         
714 2001-12-11  Emmanuel Briot <briot@gnat.com>
715
716         * prj.ads: Add comments for some of the fields.
717
718 2001-12-11  Robert Dewar <dewar@gnat.com>
719
720         * lib-xref.adb (Output_Refs): Don't output type references outside 
721         the main unit if they are not otherwise referenced.
722         
723 2001-12-11  Ed Schonberg <schonber@gnat.com>
724
725         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify 
726         code and diagnose additional illegal uses
727         
728         * sem_util.adb (Is_Object_Reference): An indexed component is an 
729         object only if the prefix is.
730         
731 2001-12-11  Vincent Celier <celier@gnat.com>
732
733         * g-diopit.adb: Initial version.
734         
735         * g-diopit.ads: Initial version.
736         
737         * g-dirope.adb:
738         (Expand_Path): Avoid use of Unbounded_String
739         (Find, Wildcard_Iterator): Moved to child package Iteration
740         
741         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
742         
743 2001-12-11  Robert Dewar <dewar@gnat.com>
744
745         * sem_attr.adb: Minor reformatting
746
747 2001-12-11  Ed Schonberg <schonber@gnat.com>
748
749         * sem_ch3.adb: Clarify some ???.
750         
751 2001-12-11  Robert Dewar <dewar@gnat.com>
752
753         * exp_util.adb (Must_Be_Aligned): Removed, replaced by 
754         Exp_Pakd.Known_Aligned_Enough
755         
756         * sem_ch13.adb (Check_Address_Alignment): Removed, extended 
757         version is moved to Exp_Ch13.
758
759 2001-12-11  Robert Dewar <dewar@gnat.com>
760
761         * einfo.ads: Minor reformatting
762         
763         * exp_ch5.adb: Add comment for previous.change
764         
765         * ali.adb: New interface for extended typeref stuff.
766         
767         * ali.ads: New interface for typeref stuff.
768         
769         * checks.adb (Apply_Alignment_Check): New procedure.
770         
771         * debug.adb: Add -gnatdM for modified ALI output
772         
773         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
774         
775         * lib-xref.adb: Extend generation of <..> notation to cover 
776         subtype/object types. Note that this is a complete rewrite, 
777         getting rid of the very nasty quadratic algorithm previously 
778         used for derived type output.
779         
780         * lib-xref.ads: Extend description of <..> notation to cover 
781         subtype/object types. Uses {..} for these other cases. 
782         Also use (..) for pointer types.
783         
784         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
785         
786         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say: 
787         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
788
789 2001-12-11  Vincent Celier <celier@gnat.com>
790
791         * gnatcmd.adb:
792         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
793         Changed /BIND_ONLY to /ACTIONS=BIND
794         Changed /LINK_ONLY to /ACTIONS=LINK
795         
796 2001-12-11  Ed Schonberg  <schonber@gnat.com>
797
798         * sem_ch8.adb (Find_Selected_Component): improved search for a
799         candidate package in case of error.
800         
801         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
802         chain back on scope stack before reinstalling use clauses.
803         
804         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
805         is enabled, do not kill the code for the condition, to preserve
806         warning.
807
808 2001-12-11  Robert Dewar <dewar@gnat.com>
809
810         * checks.adb (Insert_Valid_Check): Apply validity check to expression 
811         of conversion, not to result of conversion.
812
813 2001-12-11  Ed Schonberg <schonber@gnat.com>
814         
815         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag 
816         before freezing parent. If the declarations are mutually recursive, 
817         an access to the current record type may be frozen before the 
818         derivation is complete.
819
820 2001-12-05  Vincent Celier <celier@gnat.com>
821
822         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY, 
823         -c /COMPILE_ONLY, -l /LINK_ONLY
824         
825         * opt.ads:
826         (Bind_Only): New Flag
827         (Link_Only): New flag
828         
829         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only) 
830         and -l (Link_Only)
831         
832         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
833         
834         * make.adb:
835         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
836         (Gnatmake): Set the step flags. Only perform a step if the
837         corresponding step flag is True.
838         (Scan_Make_Arg): Reset the bind and link step flags when -u
839         or -gnatc has been specified.
840
841 2001-12-05  Ed Schonberg <schonber@gnat.com>
842
843         * sem_eval.adb (Eval_Concatenation): If left operand is a null string, 
844         get bounds from right operand.
845         
846         * sem_eval.adb: Minor reformatting
847         
848         * exp_util.adb (Make_Literal_Range): use bound of literal rather 
849         than Index'First, its lower bound may be different from 1.
850         
851         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B 
852         and C48009J
853         
854 2001-12-05  Vincent Celier <celier@gnat.com>
855
856         * prj-nmsc.adb Minor reformatting
857         
858         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if 
859         set and libraries are not supported.
860         
861 2001-12-05  Ed Schonberg <schonber@gnat.com>
862
863         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of 
864         private view explicitly, so the back-end can treat as a global 
865         when appropriate.
866
867 2001-12-05  Ed Schonberg <schonber@gnat.com>
868
869         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
870          unit, always replace instance node with new body, for ASIS use.
871
872 2001-12-05  Vincent Celier <celier@gnat.com>
873         
874         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if 
875         libraries are not supported and both attributes Library_Name and 
876         Library_Dir are specified.
877         
878         * prj-proc.adb (Expression): Set location of Result to location of 
879         first term.
880         
881         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
882         (prj-nmsc is now importing MLib.Tgt)
883         
884         * prj-proc.adb: Put the change indicated above that was forgotten.
885
886 2001-12-05  Robert Dewar <dewar@gnat.com>
887
888         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
889
890 2001-12-05  Ed Schonberg <schonber@gnat.com>
891
892         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
893         constraint, introduce explicit subtype declaration and derive from it.
894         
895         * sem_ch3.adb: Minor reformatting
896
897 2001-12-05  Robert Dewar <dewar@gnat.com>
898
899         * checks.adb (Determine_Range): Increase cache size for checks. 
900         Minor reformatting
901         
902         * exp_ch6.adb: Minor reformatting
903         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
904         a parameter whose root type is System.Address, since treating such
905         subprograms as pure in the code generator is almost surely a mistake
906         that will lead to unexpected results.
907         
908         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and 
909         change handling of conversions.
910         
911         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
912
913 2001-12-05  Ed Schonberg <schonber@gnat.com>
914
915         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an 
916         aggregate with static wrong size, attach generated Raise node to 
917         declaration.
918
919 2001-12-05  Robert Dewar <dewar@gnat.com>
920
921         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute. 
922         Fixes compilation abandoned bomb in B24009B.
923
924 2001-12-05  Ed Schonberg <schonber@gnat.com>
925
926         * sem_ch12.adb:
927         Document use of Associated_Node on Selected_Components.
928         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
929         to clarify use of untyped descendant fields.
930
931 2001-12-05  Robert Dewar <dewar@gnat.com>
932
933         * prj-dect.ads: Add ??? comment
934         Add 2001 to copyright notice (was not done in after all)
935         
936         * prj-part.adb: Minor reformatting. Reword one awkward error message.
937         
938         * prj.ads: Minor reformatting throughout, and add some ??? comments
939         
940         * snames.ads: Minor reformatting
941
942 2001-12-05  Geert Bosch <bosch@gnat.com>
943
944         * snames.adb: Autoupdate
945
946 2001-12-05  Vincent Celier <celier@gnat.com>
947
948         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
949         
950         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
951         
952         * prj-env.adb: Minor comment changes (modifying -> extends).
953         
954         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
955         
956         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to 
957         Tok_Extends.
958         
959         * prj.adb (Initialize): Change Modifying to Extends.
960         
961         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
962         
963         * prj.ads: Minor comment change (Modifying -> extending).
964         
965         * snames.ads: Change modifying to extends.
966
967 2001-12-05  Robert Dewar <dewar@gnat.com>
968
969         * sem_warn.adb: Remove stuff for conditionals, we are not going to 
970         do this after all.
971         
972         * sem_warn.ads: Remove stuff for conditionals, we are not going to 
973         do this after all.  Add 2001 to copyright notice
974
975 2001-12-04  Geert Bosch <bosch@gnat.com>
976
977         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
978
979 2001-12-04  Robert Dewar <dewar@gnat.com>
980
981         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk 
982         location if we already have errors. Stops some cases of cascaded 
983         errors.
984         
985         * errout.adb: Improve comment.
986
987 2001-12-04  Robert Dewar <dewar@gnat.com>
988
989         * sem_ch12.adb:
990         (Analyze_Formal_Type_Definition): Defend against Error.
991         (Analyze_Formal_Subprogram): Defend against Error.
992         
993         * par-ch12.adb (F_Formal_Type_Declaration): In case of error, 
994         remove following semicolon if present. Removes cascaded error.
995
996 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
997
998         * bindgen.adb:
999         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
1000          exceptions equals 0.
1001         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
1002         Fixes PIWG E tests (which have to be run with -gnatL).
1003
1004 2001-12-04  Robert Dewar <dewar@gnat.com>
1005
1006         * einfo.ads: Minor reformatting
1007
1008 2001-12-04  Ed Schonberg <schonber@gnat.com>
1009
1010         * einfo.ads: Block_Node points to the identifier of the block, not to 
1011         the block node itself, to preserve the link when the block is 
1012         rewritten, e.g. within an if-statement with a static condition. 
1013         
1014         * inline.adb (Cleanup_Scopes): recover block statement from block 
1015         entity using new meaning of Block_Node.
1016         
1017         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to 
1018         identifier of block node, rather than to node itself.
1019
1020 2001-12-04  Gary Dismukes <dismukes@gnat.com>
1021         
1022         * layout.adb:
1023         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
1024         (Discrimify): Go back to setting the Etypes of the selected component
1025         because the Vname component does not exist at this point and will 
1026         fail name resolution. Also set Analyzed.
1027         Remove with and use of Sem_Res.
1028
1029 2001-12-04  Arnaud Charlet <charlet@gnat.com>
1030
1031         * Makefile.in: (HIE_SOURCES): add s-fat*.
1032
1033 2001-12-04  Robert Dewar <dewar@gnat.com>
1034
1035         * sem_attr.adb:
1036         (Compile_Time_Known_Attribute): New procedure.
1037         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
1038          proper range check.
1039
1040 2001-12-04  Ed Schonberg <schonber@gnat.com>
1041
1042         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before 
1043         processing discriminants to diagnose illegal default values.
1044
1045 2001-12-04  Ed Schonberg <schonber@gnat.com>
1046
1047         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide 
1048         access discriminant within a type extension that constrains its 
1049         parent discriminants.
1050
1051 2001-12-04  Ed Schonberg <schonber@gnat.com>
1052
1053         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication 
1054         is malformed, use instance of Any_Id to allow analysis to proceed.
1055         
1056         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if 
1057         type definition is illegal.
1058         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
1059         misplaced.
1060
1061 2001-12-04  Ed Schonberg <schonber@gnat.com>
1062
1063         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to 
1064         constants.
1065
1066 2001-12-04  Robert Dewar <dewar@gnat.com>
1067
1068         * errout.adb: Minor reformatting
1069
1070 2001-12-04  Robert Dewar <dewar@gnat.com>
1071
1072         * exp_util.adb: Minor reformatting from last change
1073         
1074         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node 
1075         which is a rewriting of an expression, traverse the original 
1076         expression to remove warnings that may have been posted on it.
1077
1078 2001-12-04  Ed Schonberg <schonber@gnat.com>
1079
1080         * exp_util.adb (Must_Be_Aligned): Return false for a component of a 
1081         record that has other packed components.
1082
1083 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
1084
1085         * adaint.c: Minor cleanups.
1086
1087 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
1088
1089         * adaint.c: Do not use utime.h on vxworks.
1090
1091 2001-12-04  Arnaud Charlet <charlet@gnat.com>
1092
1093         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes 
1094         more confusion than it solves.
1095
1096 2001-12-04  Geert bosch <bosch@gnat.com>
1097
1098         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
1099
1100 2001-12-04  Geert Bosch  <bosch@gnat.com>
1101
1102         * Makefile.in (update-sources): New target. 
1103         For use by gcc_release script.
1104
1105 2001-12-04  Ed Schonberg <schonber@gnat.com>
1106
1107         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as 
1108         a configuration pragma, it is now legal wherever a pragma can appear.
1109
1110 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
1111
1112         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
1113         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
1114         is now @CROSS@ -DIN_GCC; update comment.
1115
1116 2001-12-04  Robert Dewar <dewar@gnat.com>
1117
1118         * einfo.adb (Has_Pragma_Pure_Function): New flag.
1119         Fix problem that stopped ceinfo from working
1120         
1121         * einfo.ads (Has_Pragma_Pure_Function): New flag.
1122         
1123         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
1124
1125 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
1126
1127         * gnatchop.adb:
1128         (File_Time_Stamp): New procedure.
1129         (Preserve_Mode): New boolean.
1130         (Write_Unit): Pass time stamp.
1131         Implement -p switch (preserve time stamps).
1132         
1133         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
1134         
1135         * gnatchop.adb: Do usage info for -p switch
1136         
1137         * adaint.h (__gnat_set_file_time_name): New function
1138         
1139         * adaint.c (__gnat_set_file_time_name): Implement
1140         
1141         * adaint.h: Fix typo
1142
1143 2001-12-03  Robert Dewar <dewar@gnat.com>
1144
1145         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
1146         have Associated_Node.
1147
1148 2001-12-03  Robert Dewar <dewar@gnat.com>
1149
1150         * prj-proc.adb: Minor reformatting
1151
1152         * make.adb: Minor reformatting
1153
1154 2001-12-03  Geert Bosch <bosch@gnat.com>
1155
1156         * make.adb: Minor reformatting.
1157
1158 2001-12-03 Robert Dewar  <dewar@gnat.com>
1159
1160         * sem_ch12.adb: Minor reformatting
1161
1162 2001-12-03  Ed Schonberg <schonber@gnat.com>
1163
1164         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
1165         push Standard on the stack before analyzing the instance body,
1166         in order to have a clean visibility environment.
1167
1168         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
1169
1170 2001-12-03  Ed Schonberg <schonber@gnat.com>
1171
1172         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
1173         instantiation of a body that contains an inlined body.
1174
1175 2001-12-03  Ed Schonberg <schonber@gnat.com>
1176
1177         * sem_ch12.adb:
1178         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
1179         to prevent freezing within formal packages.
1180         (Freeze_Subprogram_Body): If body comes from another instance that
1181         appeared before its own body, place freeze node at end of current
1182         declarative part, to prevent a back-end crash.
1183         (Inline_Instance_Body): Handle properly a package instance within
1184         a subprogram instance that is a child unit.
1185
1186 2001-12-01  Graham Stott  <grahams@redhat.com>
1187
1188         * Makefile.in (misc.o): Add missing $(srcdir) prefix
1189         and add optabs.h dependency.
1190
1191         * misc.c: Include optabs.h
1192         (gnat_tree_code_type): Make static and const.
1193         (gnat_tree_code_length): Likewise.
1194         (gnat_tree_code_name): Likewise.
1195         (update_setjmp_buf): Obtain operands mode from insn_data.
1196
1197 2001-11-29  Richard Henderson  <rth@redhat.com>
1198
1199         * init.c: Remove obsolete dwarf2 frame.h section.
1200
1201 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1202
1203         * Make-lang.in (ada.generated-manpages): New dummy target.
1204
1205 2001-11-29  Ed Schonberg <schonber@gnat.com>
1206
1207         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
1208         into Command, an array conversion is illegal here. Uncovered by
1209         ACATS B460005.
1210
1211 2001/11/28  Geert Bosch <bosch@gnat.com>
1212
1213         * init.c: Minor whitespace changes.
1214
1215 2001-11-28  Doug Rupp <rupp@gnat.com>
1216
1217         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
1218         signal stack.
1219
1220 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
1221
1222         * misc.c (gnat_expand_constant): Move declaration above
1223         definition of lang_hooks.
1224         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
1225         (gnat_init): lang_expand_constant no longer exists.
1226
1227         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
1228         always have vprintf.
1229         (gnat_init): Always call set_internal_error_function.
1230
1231 2001-11-27  Andreas Jaeger  <aj@suse.de>
1232
1233         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
1234
1235 2001-11-27  Laurent Guerby  <guerby@acm.org>
1236
1237         * Makefile.in: Regenerate Ada dependencies.
1238
1239 2001-11-26  Richard Henderson  <rth@redhat.com>
1240
1241         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
1242         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
1243         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
1244
1245 2001-11-25  Laurent Guerby  <guerby@acm.org>
1246
1247         * sysdep.c (rts_get_*): Fix style.
1248
1249 2001-11-19  Laurent Guerby  <guerby@acm.org>
1250
1251         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
1252         since it is of no apparent use and cause warnings.
1253
1254 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
1255
1256         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
1257         static too.
1258         (gnat_init): Don't return NULL.
1259         (finish_parse): Remove.
1260
1261 2001-11-17  Laurent Guerby  <guerby@acm.org>
1262
1263         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
1264         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
1265         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
1266         * lang-spec.h: Add missing struct field to silence warnings.
1267         * sysdep.c (rts_get_*): Provide K&R prototype.
1268         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
1269         * traceback.c (Unlock_Task, Lock_Task): Likewise.
1270         * tracebak.c (__gnat_backtrace): Remove unused variable.
1271         * utils.c (end_subprog_body): Move to K&R style.
1272
1273 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1274
1275         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
1276
1277 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
1278
1279         * misc.c (gnat_init): Change prototype.  Include the
1280         functionality of the old init_parse and init_decl_processing.
1281         (gnat_init_decl_processing): New prototype.
1282         (init_parse): Remove.
1283         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
1284
1285 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1286
1287         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
1288         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
1289         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
1290         set_yydebug): Remove.
1291
1292 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1293
1294         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
1295         (struct lang_hooks): Constify.
1296         (language_string, lang_identify): Remove.
1297         * utils.c (init_decl_processing): Update.
1298
1299 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1300
1301         * misc.c: Include langhooks-def.h.
1302         * Makefile.in: Update.
1303
1304 2001-10-30  Robert Dewar <dewar@gnat.com>
1305
1306         * style.adb:
1307         (Check_Identifier): Rewrite circuit to be compatible with use of letters
1308         in the upper half of ASCII.
1309         (Check_Identifier): Minor reformatting
1310
1311 2001-10-30  Geert Bosch <bosch@gnat.com>
1312
1313         * (Associated_Node, Set_Associated_Node): Do not check for
1314         Freeze_Entity.
1315
1316 2001-10-30  Robert Dewar <dewar@gnat.com>
1317
1318         * a-reatim.ads: Minor reformatting
1319
1320 2001-10-30  Robert Dewar <dewar@gnat.com>
1321
1322         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
1323         undocumented declarations.
1324
1325 2001-10-30  Pascal Obry <obry@gnat.com>
1326
1327         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
1328         to the binder and linker.
1329         Minor style fix.
1330
1331         * mdll.ads: Fix layout.  Update copyright notice.
1332
1333         * mdll.adb: Fix layout.  Update copyright notice.
1334
1335 2001-10-30  Robert Dewar <dewar@gnat.com>
1336
1337         * usage.adb: Minor fix to output for -gnaty.
1338
1339 2001-10-30  Ed Schonberg <schonber@gnat.com>
1340
1341         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
1342         to accommodate all its possible values.
1343
1344         * a-reatim.adb (Split): Special-case handling of Time_Span_First
1345         and of small absolute values of T.
1346
1347 2001-10-30  Richard Kenner <kenner@gnat.com>
1348
1349         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
1350         set_mem_attributes since not needed and wrong if RESULT if a REG;
1351         fixes ACATS failures.
1352
1353 2001-10-30  Geert Bosch <bosch@gnat.com>
1354
1355         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
1356         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
1357
1358 2001-10-30  Robert Dewar <dewar@gnat.com>
1359
1360         * bindusg.adb: Undocument -f switch.
1361
1362         * gnatcmd.adb: Remove /FULL_ELABORATION.
1363
1364         * opt.ads (Force_RM_Elaboration_Order): Document that this is
1365         obsolescent.
1366
1367         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
1368
1369         * gnatbind.adb: Minor update of warning msg.
1370
1371 2001-10-30  Vincent Celier <celier@gnat.com>
1372
1373         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
1374         for project file switches (-P (/PROJECT_FILE=),
1375          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
1376         or MEDIUM or HIGH)
1377
1378 2001-10-30  Geert Bosch <bosch@gnat.com>
1379
1380         * decl.c: Minor whitespace fixes.
1381
1382 2001-10-30  Richard Kenner <kenner@gnat.com>
1383
1384         * utils2.c (build_allocator): Test for SIZE overflow in array case too
1385
1386 2001-10-30  Geert Bosch <bosch@gnat.com>
1387
1388         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
1389         Found due to GCC 3.0 warning of using uninitialized value.
1390
1391         * layout.adb:
1392         (Get_Max_Size): Use variant record for tracking value/expression.
1393          Makes logic clearer and prevents warnings for uninitialized variables.
1394         (Layout_Array_Type): Use variant record for tracking value/expression.
1395          Makes logic clearer and prevents warnings for uninitialized variables.
1396
1397 2001-10-30  Robert Dewar <dewar@gnat.com>
1398
1399         * lib.adb: Minor reformatting
1400
1401         * s-taprop.ads: Minor reformatting
1402
1403 2001-10-29  Laurent Guerby  <guerby@acm.org>
1404
1405         * init.c:
1406         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
1407         const.
1408         (_gnat_error_handler): Make MSG const.
1409
1410 2001-10-29  Richard Kenner <kenner@gnat.com>
1411
1412         * sysdep.c: Fix localtime_r problem on LynxOS.
1413         Also remove #elif to avoid warnings.
1414
1415         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
1416         used by this.
1417
1418         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
1419
1420 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1421
1422         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
1423         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
1424         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
1425         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
1426         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
1427         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
1428         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
1429         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
1430         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
1431         types.ads, urealp.adb: Fix spelling errors.
1432
1433 2001-10-27  Laurent Guerby <guerby@acm.org>
1434
1435         * trans.c (gigi): Fix non determinism leading to bootstrap
1436         comparison failures for debugging information.
1437
1438 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
1439
1440         * gnat_rm.texi: Use @./@: where appropriate.
1441
1442 2001-10-26  Robert Dewar <dewar@gnat.com>
1443
1444         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
1445
1446 2001-10-26  Richard Kenner <kenner@gnat.com>
1447
1448         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
1449
1450 2001-10-26  Richard Kenner <kenner@gnat.com>
1451
1452         * decl.c (validate_size): Modify message for bad size to avoid
1453         implication that compiler is modifying the size.
1454
1455 2001-10-26  Robert Dewar <dewar@gnat.com>
1456
1457         * prj-util.adb: Minor reformatting. Fix bad header format.
1458
1459 2001-10-26  Robert Dewar <dewar@gnat.com>
1460
1461         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
1462
1463         * sinfo.ads: Clarify use of Associated_Node (documentation only).
1464
1465         * sem_ch12.adb: Change Node4 to Associated_Node. Change
1466         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
1467         much more narrowly in places where needed. These are cleanups.
1468
1469 2001-10-26  Joel Brobecker <brobecke@gnat.com>
1470
1471         * 5zosinte.ads (null_pthread): new constant.
1472
1473         * 5ztaprop.adb:
1474         (Initialize_TCB): Initialize thread ID to null, to be able to verify
1475          later that this field has been set.
1476         (Finalize_TCB): ditto.
1477         (Suspend_Task): Verify that the thread ID is not null before using it.
1478         (Resume_Task): ditto.
1479
1480         * s-tasdeb.adb:
1481         (Resume_All_Tasks): Lock the tasks list before using it.
1482         (Suspend_All_Tasks): ditto.
1483
1484 2001-10-26  Richard Kenner <kenner@gnat.com>
1485
1486         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
1487         Make constant variant of designated type for Is_Access_Constant.
1488         Call update_pointer_to with main variant.
1489
1490         * trans.c (process_freeze_entity, process_type):
1491         Call update_pointer_to on main variant.
1492
1493         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
1494         If main variant, update all other variants.
1495
1496         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
1497         TREE_STATIC.
1498
1499 2001-10-26  Robert Dewar <dewar@gnat.com>
1500
1501         * prj-util.adb: Minor reformatting
1502
1503 2001-10-26  Robert Dewar <dewar@gnat.com>
1504
1505         * prj-util.adb: Minor reformatting
1506
1507 2001-10-26  Robert Dewar <dewar@gnat.com>
1508
1509         * prj-attr.adb: Minor reformatting throughout
1510
1511 2001-10-26  Robert Dewar <dewar@gnat.com>
1512
1513         * prj-attr.ads: Minor reformatting
1514         Add ??? comment (this whole spec has almost no comments)
1515
1516 2001-10-26  Vincent Celier <celier@gnat.com>
1517
1518         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
1519         ("//") that precede the drive letter on Interix.
1520
1521 2001-10-26  Geert Bosch <bosch@gnat.com>
1522
1523         * gnat_rm.texi: Add GNAT Reference Manual.
1524
1525 2001-10-25  Robert Dewar <dewar@gnat.com>
1526
1527         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
1528         is Error. Similar change for other renaming cases.
1529
1530 2001-10-25  Robert Dewar <dewar@gnat.com>
1531
1532         * s-atacco.ads: Add pragma Inline_Always for functions.
1533         Fix header format. Add copyright 2001
1534
1535 2001-10-25  Ed Schonberg <schonber@gnat.com>
1536
1537         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
1538         return Error rather than Empty so that analysis can proceed.
1539
1540 2001-10-25  Ed Schonberg <schonber@gnat.com>
1541
1542         * sem_util.adb (Enter_Name): better handling of cascaded error
1543         messages when a unit appears in its own context.
1544
1545 2001-10-25  Ed Schonberg <schonber@gnat.com>
1546
1547         * sem_util.adb (Defining_Entity): in case of error, attach created
1548         entity to specification, so that semantic analysis can proceed.
1549
1550 2001-10-25  Robert Dewar <dewar@gnat.com>
1551
1552         * sem_util.adb
1553         (Defining_Entity): Deal with Error.
1554         (Process_End_Label): Deal with bad end label for.
1555
1556 2001-10-25  Ed Schonberg <schonber@gnat.com>
1557
1558         * sem_elab.adb (Check_A_Call): refine message when call is in an
1559         instance but callee is not declared in the generic unit.
1560
1561 2001-10-25  Ed Schonberg <schonber@gnat.com>
1562
1563         * sem_elab.adb (Check_A_Call): check for renaming before finding the
1564         enclosing unit, which may already be different from the calling unit.
1565
1566 2001-10-25  Geert Bosch <bosch@gnat.com>
1567
1568         * 4gintnam.ads: fix header format.
1569
1570 2001-10-25  Ed Schonberg <schonber@gnat.com>
1571
1572         * sem_res.adb (Resolve_Call): if the call is actually an indexing
1573         operation on the result of a parameterless call, perform elaboration
1574         check after the node has been properly rewritten.
1575
1576         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
1577         inlined within the generic tree, the defining identifier is not a
1578         compilation_unit.
1579
1580 2001-10-25  Ed Schonberg <schonber@gnat.com>
1581
1582         * sem_res.adb (Resolve): special-case resolution of Null in an
1583          instance or an inlined body to avoid view conflicts.
1584
1585         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
1586          compatibility by retrieving the access type of the generic copy.
1587
1588 2001-10-25  Robert Dewar <dewar@gnat.com>
1589
1590         * sem_ch3.adb:
1591         (Analyze_Number_Declaration): Handle error expression.
1592         (Signed_Integer_Type_Declaration): Handle error bound.
1593         (Analyze_Subtype_Indication): Handle error range.
1594
1595         * sem_util.adb (Get_Index_Bounds): Check for Error.
1596
1597 2001-10-25  Robert Dewar <dewar@gnat.com>
1598
1599         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
1600         in no run time mode.
1601
1602 2001-10-25  Pascal Obry <obry@gnat.com>
1603
1604         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
1605         mode case for ALLOC case.
1606
1607         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
1608         all platforms. Improvement of last change.
1609
1610 2001-10-25  Robert Dewar <dewar@gnat.com>
1611
1612         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
1613
1614 2001-10-25  Geert Bosch  <bosch@gnat.com>
1615
1616         * osint.adb (Is_Relative): Remove duplicate.
1617
1618 2001-10-25  Pascal Obry <obry@gnat.com>
1619
1620         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
1621         pathnames in UNIX and DOS style with drive letter.
1622         (Is_Relative): new routine.
1623
1624         * osint.adb: Minor reformatting
1625
1626         * osint.adb (Is_Relative): implementation using
1627         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
1628
1629 2001-10-25  Pascal Obry <obry@gnat.com>
1630
1631         * g-dirope.adb (Basename): correctly compute offset between the
1632         original Path and the translated one.
1633
1634         * g-dirope.adb: (Base_Name): add some comments.
1635
1636 2001-10-25  Robert Dewar <dewar@gnat.com>
1637
1638         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
1639         in HIE mode, avoids compilation abandoned message
1640
1641         * exp_imgv.adb: Correct typo in previous change
1642
1643         * exp_imgv.adb: Correct typo in previous change (not my day!)
1644
1645 2001-10-25  Robert Dewar <dewar@gnat.com>
1646
1647         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
1648
1649 2001-10-25  Pascal Obry <obry@gnat.com>
1650
1651         * g-awk.ads: Move all pragma inlines next to the routine
1652          declarations. This is more uniform with other GNAT spec.
1653
1654 2001-10-22  Geert Bosch  <bosch@gnat.com>
1655
1656         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
1657
1658 2001-10-19  Geert Bosch  <bosch@gnat.com>
1659
1660         * Makefile.in (tools, gnattools): Remove gnatmem.
1661
1662 2001-10-17  Richard Henderson  <rth@redhat.com>
1663
1664         * Makefile.in (misc.o): Depend on langhooks.h.
1665         * misc.c: Include it.
1666         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
1667         (LANG_HOOKS_DECODE_OPTION): New.
1668         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
1669
1670 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
1671
1672         * trans.c (tree_transform): Adjust to recent change in
1673         expand_asm_operands to implement named asm operands.
1674
1675 2001-10-11  Ed Schonberg  <schonber@gnat.com>
1676
1677         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
1678         renaming of discriminant for mutable record type.
1679
1680 2001-10-11  Robert Dewar  <dewar@gnat.com>
1681
1682         * validsw.adb: Properly save -gnatVn status.
1683
1684 2001-10-11  Robert Dewar <dewar@gnat.com>
1685
1686         * usage.adb: Add lines for V switch.
1687
1688         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
1689         (/VALIDITY_CHECKING).
1690
1691 2001-10-11  Ed Schonberg <schonber@gnat.com>
1692
1693         * sem_type.adb (Add_One_Interp): an operator for a type declared in
1694         an extension of System is known to be visible.
1695
1696 2001-10-11  Ed Schonberg <schonber@gnat.com>
1697
1698         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
1699         properly. Fixes regression on ACATS C34005G.
1700
1701 2001-10-11  Robert Dewar <dewar@gnat.com>
1702
1703         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
1704         loop in generic instance, since this is likely not very useful.
1705
1706 2001-10-11  Robert Dewar <dewar@gnat.com>
1707
1708         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
1709         the error message for high integrity mode.
1710
1711         * rtsfind.adb (RTE): Give message if we try to find an entity that
1712         is not available in high integrity mode.
1713
1714         * rtsfind.ads:
1715         (OK_To_Use_In_HIE_Mode): New array.
1716         (RTE): May return Empty in high integrity mode.
1717
1718         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
1719         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
1720
1721         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
1722         unit if not inlined always and in no runtime mode. Fixes problem
1723         caused by new Rtsfind changes.
1724
1725         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
1726         body is deleted.
1727
1728         * rtsfind.adb (RTE): Make sure we do not try to load unit after
1729         giving message for entity not available in high integrity mode.
1730
1731 2001-10-11  Pascal Obry <obry@gnat.com>
1732
1733         * impunit.adb: Add GNAT.CRC32.
1734
1735 2001-10-11  Ed Schonberg <schonber@gnat.com>
1736
1737         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
1738         properly the case where one universal operand in a non-static
1739         exponentiation of a real literal.
1740
1741 2001-10-11  Ed Schonberg <schonber@gnat.com>
1742
1743         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
1744         clause, return the gobal finalization list, for lack of anthing else.
1745
1746 2001-10-11  Ed Schonberg <schonber@gnat.com>
1747
1748         * exp_ch7.adb (Make_Transient_Block): if statement is within
1749         exception handler, always use new transient scope to place Clean
1750         procedure.
1751
1752 2001-10-11  Pascal Obry <obry@gnat.com>
1753
1754         * Makefile.in:
1755         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
1756         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
1757         (GNATLS_RTL_OBJS): add g-crc32.o
1758         (GNATMAKE_RTL_OBJS): add g-crc32.o
1759
1760         * ali-util.adb:
1761         (CRC_Match): new function.
1762         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
1763         instead of the previous simple checksum algorithm.
1764         (Time_Stamp_Mismatch): use CRC_Match for comparison.
1765         (Set_Source_Table): idem.
1766
1767         * ali-util.ads:
1768         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
1769         instead of simple checksum.
1770         (CRC_Match): new function.
1771         (CRC_Error): new constant.
1772
1773         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
1774         a CRC now and not a simple checksum. A CRC uses lower-case hex
1775         letters, fixes ambiguity in parsing.
1776
1777         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
1778         is what this variable will store.
1779
1780         * bcheck.adb: Change reference to chechsum in comments by CRC.
1781         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
1782         rename All_Checksum_Match to All_CRC_Match. Change due to API
1783         renaming since now GNAT does not use a simple checksum but a
1784         CRC using GNAT.CRC32.
1785
1786         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
1787         now and not anymore a simple checksum.
1788
1789         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
1790         places.
1791
1792         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
1793
1794         * scans.adb:
1795         (Restore_Scan_State): rename Checksum to CRC.
1796         (Save_Scan_State): idem.
1797
1798         * scans.ads:
1799         With GNAT.CRC32.
1800         (Checksum): rename to CRC.
1801         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
1802
1803         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
1804         GNAT.CRC32).  Update copyright notice.
1805
1806         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
1807         GNAT.CRC32).  Update copyright notice.
1808
1809         * scn.adb:
1810         (Accumulate_Checksum): removed.
1811         (Update): new procedure. Add a wide-character into the CRC.
1812
1813         * sinput-l.adb:
1814         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
1815         (Load_File): fix initialization of S (change Source_Checksum to
1816         Source_CRC)
1817
1818         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
1819         Source_CRC in S initialization.
1820
1821         * sinput.adb (Source_Checksum): renamed to Source_CRC.
1822
1823         * sinput.ads (Source_Checksum): renamed to Source_CRC.
1824         Update comments for the CRC.
1825
1826         * types.adb (Hex): Use lowercase for the letter part.
1827
1828         * types.ads (Get_Hex_String): Returns the hexadecimal representation
1829         for a word. This is currently used only for CRC. In previous version,
1830         the checksum was using a representation with all letter being
1831         upper-case. With the new implementation (using CRC) we do not remove
1832         the 32th bit of the CRC, so we can have an upper-case starting letter
1833         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
1834         It is ambigous since the CRC was optional and could be followed by
1835         options like EB, EE. So now this routines uses lower-case letter for
1836         the hexadecimal representation. Strange enough only lower case letters
1837         where checked in Scan_ALI (even if this was not a possible case).
1838
1839         * gnatvsn.ads (Library_Version): changed to 3.15a.
1840
1841         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
1842         for the compiler.
1843
1844         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
1845         for the compiler.
1846
1847         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
1848         Add 2001 to copyright notice
1849         (Accumulate_Checksum): Modify to use System.CRC32.
1850
1851         * ali-util.ads: Redo changes of previous revision to continue to use
1852         the word Checksum. Add 2001 to copyright notice.
1853
1854         * ali.adb: Undo some of previous changes, not needed.
1855         Keep the change for lower case letters in the checksum.
1856
1857         * ali.ads: Undo previous change not needed.
1858
1859         * bcheck.adb: Undo most of previous change, not needed.
1860         But do use Checksums_Match for checksum comparison.
1861
1862         * gnatls.adb: Undo most of previous change, not needed.
1863         But do use Checksums_Match for comparing checksums.
1864
1865         * lib-load.adb: Undo previous change, not needed.
1866
1867         * lib-writ.adb: Undo previous change, not needed.
1868
1869         * lib-writ.ads: Document that checksums use lower case,
1870         not upper case letters.
1871
1872         * scans.adb: Undo previous change, not needed
1873
1874         * scans.ads: Undo previous change, not needed.
1875
1876         * scn-nlit.adb: Undo previous changes, not needed.
1877
1878         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
1879
1880         * scn.adb:
1881         (Accumulate_Checksum): Use System.CRC32.
1882         (Initialize_Checksum): New procedure.
1883         Remove other changes of previous revision.
1884
1885         * sinput-p.adb: Undo previous change, not needed.
1886
1887         * sinput.adb: Undo previous change, not needed.
1888
1889         * sinput-l.adb: Undo previous change, not needed.
1890
1891         * sinput.ads: Undo previous change, not needed.  Keep only comment
1892         on new checksum algorithm
1893
1894         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
1895         Also remove a-tags and a-stream from GNAT sources.
1896
1897         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
1898
1899         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
1900
1901 2001-10-11  Geert Bosch  <bosch@gnat.com>
1902
1903         * einfo.h: Regenerate.
1904
1905         * nmake.ads: Regenerate.
1906
1907         * nmake.adb: Regenerate.
1908
1909         * sinfo.h: Regenerate.
1910
1911         * treeprs.adb: Regenerate.
1912
1913 2001-10-10  Geert Bosch  <bosch@gnat.com>
1914
1915         * gnat-style.texi: New file describing coding guidelines for Ada.
1916
1917 2001-10-10  Ed Schonberg <schonber@gnat.com>
1918
1919         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
1920         is Flag174.
1921
1922 2001-10-10  Geert Bosch  <bosch@gnat.com>
1923
1924         * snames.ads: Add new names for project facility.
1925
1926         * snames.adb: Update to reflect snames.ads changes.
1927
1928         * snames.h: Update to reflect snames.ads changes.
1929
1930 2001-10-10  Vincent Celier <celier@gnat.com>
1931
1932         * make.adb:
1933         (Add_Switches): reflect the changes for the switches attributes
1934         Default_Switches indexed by the programming language,
1935         Switches indexed by the file name.
1936         (Collect_Arguments_And_Compile): Idem.
1937         Reflect the attribute name changes.
1938
1939         * prj-attr.adb:
1940         (Initialisation_Data): Change the names of some packages and
1941         attributes.
1942         (Initialize): process case insensitive associative arrays.
1943
1944         * prj-attr.ads:
1945         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
1946
1947         * prj-dect.adb:
1948         (Parse_Attribute_Declaration): For case insensitive associative
1949          arrays, set the index string to lower case.
1950
1951         * prj-env.adb:
1952         Reflect the changes of the project attributes.
1953
1954         * prj-nmsc.adb:
1955         Replace Check_Naming_Scheme by Ada_Check and
1956         Language_Independent_Check.
1957
1958         * prj-nmsc.ads:
1959         Replaced Check_Naming_Scheme by 2 procedures:
1960         Ada_Check and Language_Independent_Check.
1961
1962         * prj-proc.adb:
1963         (Process_Declarative_Items): For case-insensitive associative
1964         arrays, set the index string to lower case.
1965         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
1966         Prj.Nmsc.Check_Naming_Scheme.
1967
1968         * prj-tree.adb:
1969         (Case_Insensitive): New function
1970         (Set_Case_Insensitive): New procedure
1971
1972         * prj-tree.ads:
1973         (Case_Insensitive): New function
1974         (Set_Case_Insensitive): New procedure
1975         (Project_Node_Record): New flag Case_Insensitive.
1976
1977         * prj-util.adb:
1978         (Value_Of): new function to get the string value of a single
1979         string variable or attribute.
1980
1981         * prj-util.ads:
1982         (Value_Of): new function to get the string value of a single
1983         string variable or attribute.
1984
1985         * prj.adb:
1986         (Ada_Default_Spec_Suffix): New function
1987         (Ada_Default_Impl_Suffix): New function
1988         Change definitions of several constants to reflect
1989         new components of record types.
1990
1991         * prj.ads:
1992         (Naming_Data): Change several components to reflect new
1993         elements of naming schemes.
1994         (Project_Data): New flags Sources_Present and
1995         Language_Independent_Checked.
1996         (Ada_Default_Spec_Suffix): New function.
1997         (Ada_Default_Impl_Suffix): New function.
1998
1999         * snames.ads:
2000         Modification of predefined names for project manager: added
2001         Implementation, Specification_Exceptions, Implementation_Exceptions,
2002         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
2003         Default_Switches, _Languages, Builder, Cross_Reference,
2004         Finder. Removed Body_Part, Specification_Append, Body_Append,
2005         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
2006         Gnatlink.
2007
2008         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
2009         Add comments.
2010
2011         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
2012         not that it is Nil_Variable_Value.
2013
2014         * prj.ads: Add ??? for uncommented declarations
2015
2016 2001-10-10  Ed Schonberg <schonber@gnat.com>
2017
2018         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
2019         constant, do not indicate possible modification, so that gigi can
2020         treat it as a bona fide constant.
2021
2022 2001-10-10  Robert Dewar <dewar@gnat.com>
2023
2024         * sem_prag.adb: Add processing for pragma External.
2025
2026         * snames.ads: Add entry for pragma External.
2027
2028         * par-prag.adb: Add pragma External.
2029
2030         * snames.adb: Updated to match snames.ads.
2031
2032 2001-10-10  Ed Schonberg <schonber@gnat.com>
2033
2034         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
2035         a dynamic task if the allocator appears in an indexed assignment
2036         or selected component assignment.
2037
2038         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
2039         For a dynamic task in an assignment statement, use target of
2040         assignment to generate meaningful name.
2041
2042 2001-10-10  Ed Schonberg <schonber@gnat.com>
2043
2044         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
2045         a generic package.
2046
2047         * einfo.ads: Body_Entity is also defined for generic package.
2048         Documentation change only
2049
2050         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
2051         others_choice for a discriminated component initialization,
2052         convert discriminant references into the corresponding discriminals.
2053
2054         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
2055         only if original type is private and expression has to be wrapped
2056         in a conversion.
2057
2058         * checks.adb:
2059         (Apply_Constraint_Check): Do not perform length check
2060         if expression is an aggregate with only an others_choice.
2061         (Length_N_Cond): two references to the same in_parameter
2062         (typically the discriminal in an init_proc) denote the same value.
2063         Two useful optimization uncovered by bugfixes above.
2064
2065 2001-10-10  Robert Dewar <dewar@gnat.com>
2066
2067         * xeinfo.adb: Change int to char in translation of enumeration types.
2068         This fixes a problem in the C representation of component alignment.
2069         Add 2001 to copyright notice
2070
2071 2001-10-10  Richard Kenner <kenner@gnat.com>
2072
2073         * decl.c: (validate_size): Do check size of object of integral type
2074         if it is a packed array type.
2075
2076 2001-10-10  Richard Kenner <kenner@gnat.com>
2077
2078         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
2079         VAR_DECL for constant if not Is_Public but -O0.
2080
2081 2001-10-10  Richard Kenner  <kenner@gnat.com>
2082
2083         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
2084
2085 2001-10-10  Geert Bosch  <bosch@gnat.com>
2086
2087         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
2088         use '/' as switch character, allowing for absolute file names.
2089
2090 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2091
2092         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
2093         FSF address.
2094
2095 2001-10-08  Geert Bosch  <bosch@gnat.com>
2096
2097         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
2098         Automatically build utilities when files need to be regenerated.
2099
2100 2001-10-08  Geert Bosch  <bosch@gnat.com>
2101
2102         * xsnames.adb: New utility for updating snames.ads and snames.adb
2103
2104 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
2105
2106         * Make-lang.in (ADAFLAGS): Add -W -Wall.
2107         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
2108         (gnat1): Also depend on attribs.o.
2109         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
2110         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
2111         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
2112         (ADAFLAGS): Add -W -Wall.
2113         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
2114         take out CFLAGS.
2115
2116         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
2117         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
2118         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
2119         Use $(ADAC), not $(CC), as compilation command.
2120
2121         (gnattools): Depend directly on tools to build, don't use
2122         recursive make.
2123         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
2124
2125         * einfo.h, sinfo.h: New files (autogenerated).
2126
2127 2001-10-08  Richard Henderson  <rth@redhat.com>
2128
2129         * comperr.adb (Abort_In_Progress): New.
2130         (Compiler_Abort): Use it to prevent recursion.
2131
2132 2001-10-08  Robert Dewar <dewar@gnat.com>
2133
2134         * atree.adb: Set Error_Posted in Error node, helps error recovery.
2135
2136         * par-endh.adb (Output_End_Expected): We should also not test
2137         Error_Posted on the Error node, since now it is always set.
2138
2139         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
2140         to help error recovery. Part of general work on 9407-004.
2141
2142         * par.adb: Add ??? for misuse of error
2143
2144         * sem_res.adb:
2145         (Resolve): Defend against Error, fixes 9407-003.
2146         (Resolve_Discrete_Subtype_Indication): Defend against Error.
2147
2148         * sinfo.ads (N_Error): Now has Etype field (which will be set
2149         to Any_Type to help error recovery).
2150
2151 2001-10-08  Richard Kenner (kenner@gnat.com)
2152
2153         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
2154         Consistently set MEM attributes from expression; fixes
2155         bootstrap failure on x86.
2156
2157 2001-10-08  Geert Bosch  (bosch@gnat.com)
2158
2159         * 5oosinte.adb: Add 2001 to copyright notice.
2160
2161 2001-10-08  Geert Bosch  (bosch@gnat.com)
2162
2163         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
2164
2165         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
2166
2167 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2168
2169         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
2170
2171 2001-10-05  Geert Bosch  (bosch@gnat.com)
2172
2173         * adaint.h: Small formatting fix.
2174
2175 2001-10-04  Geert Bosch  <bosch@gnat.com>
2176
2177         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
2178         Arg is int, not FILE *, in dummy version of functions.
2179
2180         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
2181         Arg is int, not FILE *.
2182
2183 2001-10-04  Geert Bosch  <bosch@gnat.com>
2184
2185         * 3lsoccon.ads: Added file, missed with initial check ins.
2186
2187         * 4lintnam.ads: Fix header format.
2188         Change Linux to GNU/Linux.
2189
2190         * 5iosinte.adb: Change Linux to GNU/Linux.
2191
2192         * 5iosinte.ads: Change Linux to GNU/Linux.
2193
2194         * 5itaprop.adb: Change Linux to GNU/Linux.
2195
2196         * 5itaspri.ads: Change Linux to GNU/Linux.
2197         Update copyright notice.
2198
2199         * 5lintman.adb: Change Linux to GNU/Linux.
2200
2201         * 5lml-tgt.adb: Change Linux to GNU/Linux.
2202
2203         * 5losinte.ads: Change Linux to GNU/Linux.
2204
2205         * 5lsystem.ads: Change Linux to GNU/Linux.
2206
2207         * 5qosinte.adb: Change Linux to GNU/Linux.
2208
2209         * 5qosinte.ads: Change Linux to GNU/Linux.
2210
2211         * 5qparame.ads: Change Linux to GNU/Linux.
2212
2213         * 5qtaprop.adb: Change Linux to GNU/Linux.
2214
2215         * 5qtaspri.ads: Change Linux to GNU/Linux.
2216         Add 2001 to copyright notice.
2217
2218         * 5vintman.ads: Change Linux to GNU/Linux.
2219         Fix header format.  Add 2001 to copyright notice.
2220
2221         * g-soccon.ads: Change Linux to GNU/Linux.
2222
2223         * g-trasym.ads: Change Linux to GNU/Linux.
2224         Add 2001 to copyright notice.
2225
2226         * memtrack.adb: Change Linux to GNU/Linux.
2227
2228         * s-intman.ads: Change Linux to GNU/Linux.
2229         Add 2001 to copyright notice.  Fix header format.
2230
2231         * s-stache.adb: Change Linux to GNU/Linux.
2232
2233         * adaint.c: Change Linux to GNU/Linux.
2234
2235         * cio.c: Change Linux to GNU/Linux.
2236
2237         * cstreams.c: Change Linux to GNU/Linux.
2238
2239         * init.c: Change Linux to GNU/Linux.
2240
2241         * gmem.c: Change Linux to GNU/Linux.
2242
2243         * tracebak.c: Change Linux to GNU/Linux.
2244
2245
2246 2001-10-02  Geert Bosch  <bosch@gnat.com>
2247
2248         * misc.c (insert_default_attributes): Add dummy version.