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