OSDN Git Service

2010-10-05 Ed Schonberg <schonberg@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog-2001
1 2001-12-23  Richard Henderson  <rth@redhat.com>
2
3         * utils.c (end_subprog_body): Push GC context around
4         rest_of_compilation for nested functions.
5
6 2001-12-23  Richard Henderson  <rth@redhat.com>
7
8         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
9
10 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
11
12         * gnat-style.texi (Declarations and Types): Remove ancient style
13         rule which was mandated by code generation issues.
14
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".
32
33 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
34
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.
39
40 2001-12-19  Robert Dewar  <dewar@gnat.com>
41
42         * bindgen.adb: Minor reformatting
43
44         * cstand.adb: Minor reformatting
45
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
51
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
57
58         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
59         Add use clause for Fmap.
60
61         * make.adb: Minor reformatting
62
63         * osint.adb: Minor reformatting.  Change of names in Fmap.
64         Add use clause for Fmap.
65
66         * prj-env.adb: Minor reformatting
67
68         * prj-env.ads: Minor reformatting
69
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)
73
74 2001-12-19  Olivier Hainque  <hainque@gnat.com>
75
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.
81
82         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
83         exception handling integration.
84
85 2001-12-19  Arnaud Charlet  <charlet@gnat.com>
86
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.
93
94 2001-12-19  Robert Dewar  <dewar@gnat.com>
95
96         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
97         Add 2001 to copyright date
98
99         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
100         need to force universal inlining for these cases.
101
102 2001-12-19  Arnaud Charlet  <charlet@gnat.com>
103
104         * s-taprob.adb: Minor clean ups so that this unit can be used in
105         Ravenscar HI.
106
107         * exp_ch7.adb: Allow use of secondary stack in HI mode.
108         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
109
110 2001-12-19  Vincent Celier  <celier@gnat.com>
111
112         * prj-tree.ads (Project_Node_Record): Add comments for components
113         Pkg_Id and Case_Insensitive.
114
115 2001-12-19  Pascal Obry  <obry@gnat.com>
116
117         * g-socket.adb: Minor reformatting. Found while reading code.
118
119 2001-12-19  Robert Dewar  <dewar@gnat.com>
120
121         * prj-tree.ads: Minor reformatting
122
123 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
124
125         * config-lang.in (diff_excludes): Remove.
126
127 2001-12-17  Ed Schonberg  <schonber@gnat.com>
128
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.
132
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.
136
137 2001-12-17  Robert Dewar  <dewar@gnat.com>
138
139         * sem_res.adb: Minor reformatting
140
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).
144
145         * urealp.h: Add definition of Round_Even for call to Machine
146         Add third parameter for Machine
147
148 2001-12-17  Ed Schonberg  <schonber@gnat.com>
149
150         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
151         predefined units in No_Run_Time mode.
152
153 2001-12-17  Richard Kenner  <kenner@gnat.com>
154
155         * misc.c (insn-codes.h): Now include.
156
157 2001-12-17  Olivier Hainque  <hainque@gnat.com>
158
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.
166
167 2001-12-17  Emmanuel Briot  <briot@gnat.com>
168
169         * prj-tree.ads (First_Choice_Of): Document the when others case
170
171 2001-12-17  Arnaud Charlet  <charlet@gnat.com>
172
173         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
174         HI-E mode, in order to support Ravenscar profile properly.
175
176         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
177         mode on 32 bits targets.
178
179 2001-12-17  Vincent Celier  <celier@gnat.com>
180
181         * fmap.adb: Initial version.
182
183         * fmap.ads: Initial version.
184
185         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
186         If search is successfully done, add to mapping.
187
188         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
189
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.
194
195         * opt.ads (Mapping_File_Name): New variable
196
197         * osint.adb (Find_File): Use path name found in mapping, if any.
198
199         * prj-env.adb (Create_Mapping_File): New procedure
200
201         * prj-env.ads (Create_Mapping_File): New procedure.
202
203         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
204         (Mapping_File)
205
206         * usage.adb: Add entry for new switch -gnatem.
207
208         * Makefile.in: Add dependencies for fmap.o.
209
210 2001-12-17  Ed Schonberg  <schonber@gnat.com>
211
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.
215
216 2001-12-17  Gary Dismuke  <dismukes@gnat.com>
217
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.
227
228 2001-12-17  Arnaud Charlet  <charlet@gnat.com>
229
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.
236
237         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
238
239         * rident.ads (No_Secondary_Stack): New restriction.
240
241 2001-12-17  Joel Brobecker  <brobecke@gnat.com>
242
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!
246
247 2001-12-17  Robert Dewar  <dewar@gnat.com>
248
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.
252
253 2001-12-17  Arnaud Charlet  <charlet@gnat.com>
254
255         * a-reatim.adb: Minor reformatting.
256
257 2001-12-17  Ed Schonberg  <schonber@gnat.com>
258
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.
262
263 2001-12-17  Arnaud Charlet  <charlet@gnat.com>
264
265         * s-tposen.adb: Update comments.  Minor reformatting.
266         Minor code clean up.
267
268         * s-tarest.adb: Update comments.  Minor code reorganization.
269
270 2001-12-17  Gary Dismukes  <dismukes@gnat.com>
271
272         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
273         when Java_VM.
274
275 2001-12-17  Robert Dewa  <dewar@gnat.com>
276
277         * exp_attr.adb: Minor reformatting
278
279 2001-12-17  Ed Schonberg  <schonber@gnat.com>
280
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.
284
285 2001-12-17  Robert Dewar  <dewar@gnat.com>
286
287         * sem_ch12.adb: Minor reformatting
288
289 2001-12-17  Ed Schonberg  <schonber@gnat.com>
290
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.
294
295 2001-12-17  Robert Dewar  <dewar@gnat.com>
296
297         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
298         Fix header format. Add 2001 to copyright date.
299
300         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
301         which caused CE during compilation if checks were enabled.
302
303 2001-12-17  Vincent Celier  <celier@gnat.com>
304
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.
320
321         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
322
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.
330
331         * prj.adb (Project_Empty): Add new component Exec_Directory
332
333         * prj.ads:
334         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
335         (Project_Data): Add component Exec_Directory
336
337         * snames.adb: Updated to match snames.ads revision 1.215
338
339         * snames.ads: Added Exec_Dir
340
341 2001-12-17  Robert Dewar  <dewar@gnat.com>
342
343         * make.adb: Minor reformatting
344
345         * prj-nmsc.adb: Minor reformatting
346
347         * snames.adb: Updated to match snames.ads
348
349         * snames.ads: Alphebetize entries for project file
350
351 2001-12-17  Ed Schonberg  <schonber@gnat.com>
352
353         * trans.c (process_freeze_entity): Do nothing if the entity is a
354         subprogram that was already elaborated.
355
356 2001-12-17  Richard Kenner  <kenner@gnat.com>
357
358         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
359         and Esize if object is referenced via pointer.
360
361 2001-12-17  Ed Schonberg  <schonber@gnat.com>
362
363         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
364         is discrete before analyzing choices.
365
366 2001-12-17  Joel Brobecker  <brobecke@gnat.com>
367
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.
372
373 2001-12-17  Robert Dewar  <dewar@gnat.com>
374
375         * ali.adb: Set new Dummy_Entry field in dependency entry
376
377         * ali.ads: Add Dummy_Entry field to source dependency table
378
379         * bcheck.adb (Check_Consistency): Ignore dummy D lines
380
381         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
382
383         * lib-writ.ads: Document dummy D lines for missing files.
384
385         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
386
387 2001-12-17  Robert Dewar  <dewar@gnat.com>
388
389         * ali.adb: Type reference does not reset current file.
390
391         * ali.adb: Recognize and scan renaming reference
392
393         * ali.ads: Add spec for storing renaming references.
394
395         * lib-xref.ads: Add documentation for handling of renaming references
396
397         * lib-xref.adb: Implement output of renaming reference.
398
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.
404
405 2001-12-17  Laurent Pautet  <pautet@gnat.com>
406
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.
414
415 2001-12-17  Robert Dewar  <dewar@gnat.com>
416
417         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
418         that it happens before modification of Sloc values for -gnatD.
419
420         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
421         so that it happens before modification of Sloc values for -gnatD.
422
423         * switch.adb: Minor reformatting
424
425 2001-12-15  Richard Henderson  <rth@redhat.com>
426
427         * sem_ch7.adb: Wrap comment.
428
429 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
430
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.
456
457 2001-12-14  Vincent Celier  <celier@gnat.com>
458
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.
461
462 2001-12-14  Robert Dewar  <dewar@gnat.com>
463
464         * osint.adb: Minor reformatting
465
466         * lib-xref.adb (Output_Instantiation): New procedure to generate
467         instantiation references.
468
469         * lib-xref.ads: Add documentation of handling of generic references.
470
471         * ali.adb (Read_Instantiation_Ref): New procedure to read
472         instantiation references
473
474         * ali.ads: Add spec for storing instantiation references
475
476         * bindusg.adb: Minor reformatting
477
478         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
479
480         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
481
482         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
483
484         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
485
486         * csets.ads:
487         Fix header format
488         Add 2001 to copyright date
489         Add entry for Latin-5 (Cyrillic ISO-8859-5)
490
491 2001-12-14  Matt Gingell  <gingell@gnat.com>
492
493         * adaint.c: mktemp is a macro on Lynx and can not be used as an
494         expression.
495
496 2001-12-14  Richard Kenner  <kenner@gnat.com>
497
498         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
499         if operand is CONSTRUCTOR.
500
501 2001-12-14  Ed Schonberg  <schonber@gnat.com>
502
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.
506
507 2001-12-14  Richard Kenner  <kenner@gnat.com>
508
509         * utils.c (create_var_decl): Throw away initializing expression
510         if just annotating types and non-constant.
511
512 2001-12-14  Vincent Celier  <celier@gnat.com>
513
514         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
515         Default_Ada_...
516
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.
520
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.
524
525 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
526
527         * ChangeLog: Remove piece of diff output.
528
529 2001-12-14  Geert Bosch  <bosch@gnat.com>
530
531         * config-lang.in: Update copyright notice
532
533         * layout.adb: Remove commented out code.
534
535         * mdllfile.ads: Update copyright notice. Fix header format.
536
537         * sem_case.ads: Likewise.
538
539         * sem_ch3.adb: Minor reformatting.
540
541 2001-12-12  Geert Bosch  <bosch@gnat.com>
542
543         * freeze.ads: Update copyright date.
544
545         * g-comlin.ads: Minor reformatting.
546
547         * gnat-style.texi: Fix typo.
548
549 2001-12-12  Geert Bosch  <bosch@gnat.com>
550
551         *  einfo.h: Regenerate.
552
553 2001-12-12  Ed Schonberg  <schonber@gnat.com>
554
555         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
556         on known node types, rather than untyped fields. Further cleanups.
557
558 2001-12-12  Robert Dewar  <dewar@gnat.com>
559
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.
567
568         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
569
570 2001-12-12  Robert Dewar  <dewar@gnat.com>
571
572         * s-stalib.adb: Add more comments on with statements being needed
573
574         * par-ch12.adb: Minor reformatting
575
576         * prj-dect.ads: Fix copyright header
577
578         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
579         inputs fit in 32 bits, but the result still overflows.
580
581         * s-fatgen.ads: Minor comment improvement
582
583 2001-12-12  Ed Schonberg  <schonber@gnat.com>
584
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.
588
589 2001-12-12  Robert Dewar  <dewar@gnat.com>
590
591         * checks.ads (Apply_Alignment_Check): New procedure.
592
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.
596
597         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
598         Exp_Pakd.Known_Aligned_Enough
599
600         * mdllfile.ads: Minor reformatting
601
602         * mlib-fil.ads: Minor reformatting
603
604 2001-12-12  Ed Schonberg  <schonber@gnat.com>
605
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.
609
610 2001-12-12  Vincent Celier  <celier@gnat.com>
611
612         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
613         Iteration
614
615 2001-12-12  Ed Schonberg  <schonber@gnat.com>
616
617         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
618         sem_attr.
619
620 2001-12-12  Robert Dewar  <dewar@gnat.com>
621
622         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
623
624 2001-12-12  Emmanuel Briot  <briot@gnat.com>
625
626         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
627         and it adds dependencies to system.io.
628
629 2001-12-12  Pascal Obry  <obry@gnat.com>
630
631         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
632         variable name.
633
634 2001-12-11  Ed Schonberg  <schonber@gnat.com>
635
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.
640
641 2001-12-11  Vincent Celier  <celier@gnat.com>
642
643         * gnatmain.adb: Initial version.
644
645         * gnatmain.ads: Initial version.
646
647         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
648
649         * snames.adb: Updated to match snames.ads.
650
651         * snames.ads: Added Gnatstub.
652
653 2001-12-11  Vincent Celier  <celier@gnat.com>
654
655         * prj-attr.adb (Initialization_Data): Change name from
656         Initialisation_Data.
657
658 2001-12-11  Emmanuel Briot  <briot@gnat.com>
659
660         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
661         + and * applied to backslashed expressions like \r.
662
663 2001-12-11  Vasiliy Fofanov  <fofanov@gnat.com>
664
665         * g-os_lib.ads: String_List type added, Argument_List type is now
666         subtype of String_List.
667
668 2001-12-11  Robert Dewar  <dewar@gnat.com>
669
670         * g-os_lib.ads: Change copyright to FSF
671         Add comments for String_List type
672
673 2001-12-11  Vincent Celier  <celier@gnat.com>
674
675         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
676         string to the buffer).
677
678 2001-12-11  Ed Schonberg  <schonber@gnat.com>
679
680         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
681         sem_attr.
682
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.
687
688 2001-12-11  Robert Dewar  <dewar@gnat.com>
689
690         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
691         handled.
692
693 2001-12-11  Ed Schonber   <schonber@gnat.com>
694
695         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
696         renamed unit before checking for recursive instantiations.
697
698 2001-12-11  Emmanuel Briot  <briot@gnat.com>
699
700         * prj.ads: Add comments for some of the fields.
701
702 2001-12-11  Robert Dewar  <dewar@gnat.com>
703
704         * lib-xref.adb (Output_Refs): Don't output type references outside
705         the main unit if they are not otherwise referenced.
706
707 2001-12-11  Ed Schonberg  <schonber@gnat.com>
708
709         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
710         code and diagnose additional illegal uses
711
712         * sem_util.adb (Is_Object_Reference): An indexed component is an
713         object only if the prefix is.
714
715 2001-12-11  Vincent Celier  <celier@gnat.com>
716
717         * g-diopit.adb: Initial version.
718
719         * g-diopit.ads: Initial version.
720
721         * g-dirope.adb:
722         (Expand_Path): Avoid use of Unbounded_String
723         (Find, Wildcard_Iterator): Moved to child package Iteration
724
725         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
726
727 2001-12-11  Robert Dewar  <dewar@gnat.com>
728
729         * sem_attr.adb: Minor reformatting
730
731 2001-12-11  Ed Schonberg  <schonber@gnat.com>
732
733         * sem_ch3.adb: Clarify some ???.
734
735 2001-12-11  Robert Dewar  <dewar@gnat.com>
736
737         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
738         Exp_Pakd.Known_Aligned_Enough
739
740         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
741         version is moved to Exp_Ch13.
742
743 2001-12-11  Robert Dewar  <dewar@gnat.com>
744
745         * einfo.ads: Minor reformatting
746
747         * exp_ch5.adb: Add comment for previous.change
748
749         * ali.adb: New interface for extended typeref stuff.
750
751         * ali.ads: New interface for typeref stuff.
752
753         * checks.adb (Apply_Alignment_Check): New procedure.
754
755         * debug.adb: Add -gnatdM for modified ALI output
756
757         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
758
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.
763
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.
767
768         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
769
770         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
771         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
772
773 2001-12-11  Vincent Celier  <celier@gnat.com>
774
775         * gnatcmd.adb:
776         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
777         Changed /BIND_ONLY to /ACTIONS=BIND
778         Changed /LINK_ONLY to /ACTIONS=LINK
779
780 2001-12-11  Ed Schonberg  <schonber@gnat.com>
781
782         * sem_ch8.adb (Find_Selected_Component): improved search for a
783         candidate package in case of error.
784
785         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
786         chain back on scope stack before reinstalling use clauses.
787
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.
791
792 2001-12-11  Robert Dewar  <dewar@gnat.com>
793
794         * checks.adb (Insert_Valid_Check): Apply validity check to expression
795         of conversion, not to result of conversion.
796
797 2001-12-11  Ed Schonberg  <schonber@gnat.com>
798
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.
803
804 2001-12-05  Vincent Celier  <celier@gnat.com>
805
806         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
807         -c /COMPILE_ONLY, -l /LINK_ONLY
808
809         * opt.ads:
810         (Bind_Only): New Flag
811         (Link_Only): New flag
812
813         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
814         and -l (Link_Only)
815
816         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
817
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.
824
825 2001-12-05  Ed Schonberg  <schonber@gnat.com>
826
827         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
828         get bounds from right operand.
829
830         * sem_eval.adb: Minor reformatting
831
832         * exp_util.adb (Make_Literal_Range): use bound of literal rather
833         than Index'First, its lower bound may be different from 1.
834
835         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
836         and C48009J
837
838 2001-12-05  Vincent Celier  <celier@gnat.com>
839
840         * prj-nmsc.adb Minor reformatting
841
842         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
843         set and libraries are not supported.
844
845 2001-12-05  Ed Schonberg  <schonber@gnat.com>
846
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.
850
851 2001-12-05  Ed Schonberg  <schonber@gnat.com>
852
853         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
854          unit, always replace instance node with new body, for ASIS use.
855
856 2001-12-05  Vincent Celier  <celier@gnat.com>
857
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.
861
862         * prj-proc.adb (Expression): Set location of Result to location of
863         first term.
864
865         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
866         (prj-nmsc is now importing MLib.Tgt)
867
868         * prj-proc.adb: Put the change indicated above that was forgotten.
869
870 2001-12-05  Robert Dewar  <dewar@gnat.com>
871
872         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
873
874 2001-12-05  Ed Schonberg  <schonber@gnat.com>
875
876         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
877         constraint, introduce explicit subtype declaration and derive from it.
878
879         * sem_ch3.adb: Minor reformatting
880
881 2001-12-05  Robert Dewar  <dewar@gnat.com>
882
883         * checks.adb (Determine_Range): Increase cache size for checks.
884         Minor reformatting
885
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.
891
892         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
893         change handling of conversions.
894
895         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
896
897 2001-12-05  Ed Schonberg  <schonber@gnat.com>
898
899         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
900         aggregate with static wrong size, attach generated Raise node to
901         declaration.
902
903 2001-12-05  Robert Dewar  <dewar@gnat.com>
904
905         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
906         Fixes compilation abandoned bomb in B24009B.
907
908 2001-12-05  Ed Schonberg  <schonber@gnat.com>
909
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.
914
915 2001-12-05  Robert Dewar  <dewar@gnat.com>
916
917         * prj-dect.ads: Add ??? comment
918         Add 2001 to copyright notice (was not done in after all)
919
920         * prj-part.adb: Minor reformatting. Reword one awkward error message.
921
922         * prj.ads: Minor reformatting throughout, and add some ??? comments
923
924         * snames.ads: Minor reformatting
925
926 2001-12-05  Geert Bosch  <bosch@gnat.com>
927
928         * snames.adb: Autoupdate
929
930 2001-12-05  Vincent Celier  <celier@gnat.com>
931
932         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
933
934         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
935
936         * prj-env.adb: Minor comment changes (modifying -> extends).
937
938         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
939
940         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
941         Tok_Extends.
942
943         * prj.adb (Initialize): Change Modifying to Extends.
944
945         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
946
947         * prj.ads: Minor comment change (Modifying -> extending).
948
949         * snames.ads: Change modifying to extends.
950
951 2001-12-05  Robert Dewar  <dewar@gnat.com>
952
953         * sem_warn.adb: Remove stuff for conditionals, we are not going to
954         do this after all.
955
956         * sem_warn.ads: Remove stuff for conditionals, we are not going to
957         do this after all.  Add 2001 to copyright notice
958
959 2001-12-04  Geert Bosch  <bosch@gnat.com>
960
961         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
962
963 2001-12-04  Robert Dewar  <dewar@gnat.com>
964
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.
968
969         * errout.adb: Improve comment.
970
971 2001-12-04  Robert Dewar  <dewar@gnat.com>
972
973         * sem_ch12.adb:
974         (Analyze_Formal_Type_Definition): Defend against Error.
975         (Analyze_Formal_Subprogram): Defend against Error.
976
977         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
978         remove following semicolon if present. Removes cascaded error.
979
980 2001-12-04  Douglas B. Rupp  <rupp@gnat.com>
981
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).
987
988 2001-12-04  Robert Dewar  <dewar@gnat.com>
989
990         * einfo.ads: Minor reformatting
991
992 2001-12-04  Ed Schonberg  <schonber@gnat.com>
993
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.
997
998         * inline.adb (Cleanup_Scopes): recover block statement from block
999         entity using new meaning of Block_Node.
1000
1001         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
1002         identifier of block node, rather than to node itself.
1003
1004 2001-12-04  Gary Dismukes  <dismukes@gnat.com>
1005
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.
1012
1013 2001-12-04  Arnaud Charlet  <charlet@gnat.com>
1014
1015         * Makefile.in: (HIE_SOURCES): add s-fat*.
1016
1017 2001-12-04  Robert Dewar  <dewar@gnat.com>
1018
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.
1023
1024 2001-12-04  Ed Schonberg  <schonber@gnat.com>
1025
1026         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
1027         processing discriminants to diagnose illegal default values.
1028
1029 2001-12-04  Ed Schonberg  <schonber@gnat.com>
1030
1031         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
1032         access discriminant within a type extension that constrains its
1033         parent discriminants.
1034
1035 2001-12-04  Ed Schonberg  <schonber@gnat.com>
1036
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.
1039
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.
1044
1045 2001-12-04  Ed Schonberg  <schonber@gnat.com>
1046
1047         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
1048         constants.
1049
1050 2001-12-04  Robert Dewar  <dewar@gnat.com>
1051
1052         * errout.adb: Minor reformatting
1053
1054 2001-12-04  Robert Dewar  <dewar@gnat.com>
1055
1056         * exp_util.adb: Minor reformatting from last change
1057
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.
1061
1062 2001-12-04  Ed Schonberg  <schonber@gnat.com>
1063
1064         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
1065         record that has other packed components.
1066
1067 2001-12-04  Douglass B. Rupp  <rupp@gnat.com>
1068
1069         * adaint.c: Minor cleanups.
1070
1071 2001-12-04  Douglass B. Rupp  <rupp@gnat.com>
1072
1073         * adaint.c: Do not use utime.h on vxworks.
1074
1075 2001-12-04  Arnaud Charlet  <charlet@gnat.com>
1076
1077         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
1078         more confusion than it solves.
1079
1080 2001-12-04  Geert bosch  <bosch@gnat.com>
1081
1082         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
1083
1084 2001-12-04  Geert Bosch  <bosch@gnat.com>
1085
1086         * Makefile.in (update-sources): New target.
1087         For use by gcc_release script.
1088
1089 2001-12-04  Ed Schonberg  <schonber@gnat.com>
1090
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.
1093
1094 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
1095
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.
1099
1100 2001-12-04  Robert Dewar  <dewar@gnat.com>
1101
1102         * einfo.adb (Has_Pragma_Pure_Function): New flag.
1103         Fix problem that stopped ceinfo from working
1104
1105         * einfo.ads (Has_Pragma_Pure_Function): New flag.
1106
1107         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
1108
1109 2001-12-04  Douglas B. Rupp  <rupp@gnat.com>
1110
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).
1116
1117         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
1118
1119         * gnatchop.adb: Do usage info for -p switch
1120
1121         * adaint.h (__gnat_set_file_time_name): New function
1122
1123         * adaint.c (__gnat_set_file_time_name): Implement
1124
1125         * adaint.h: Fix typo
1126
1127 2001-12-03  Robert Dewar  <dewar@gnat.com>
1128
1129         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
1130         have Associated_Node.
1131
1132 2001-12-03  Robert Dewar  <dewar@gnat.com>
1133
1134         * prj-proc.adb: Minor reformatting
1135
1136         * make.adb: Minor reformatting
1137
1138 2001-12-03  Geert Bosch  <bosch@gnat.com>
1139
1140         * make.adb: Minor reformatting.
1141
1142 2001-12-03 Robert Dewar  <dewar@gnat.com>
1143
1144         * sem_ch12.adb: Minor reformatting
1145
1146 2001-12-03  Ed Schonberg  <schonber@gnat.com>
1147
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.
1151
1152         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
1153
1154 2001-12-03  Ed Schonberg  <schonber@gnat.com>
1155
1156         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
1157         instantiation of a body that contains an inlined body.
1158
1159 2001-12-03  Ed Schonberg  <schonber@gnat.com>
1160
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.
1169
1170 2001-12-01  Graham Stott  <grahams@redhat.com>
1171
1172         * Makefile.in (misc.o): Add missing $(srcdir) prefix
1173         and add optabs.h dependency.
1174
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.
1180
1181 2001-11-29  Richard Henderson  <rth@redhat.com>
1182
1183         * init.c: Remove obsolete dwarf2 frame.h section.
1184
1185 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1186
1187         * Make-lang.in (ada.generated-manpages): New dummy target.
1188
1189 2001-11-29  Ed Schonberg  <schonber@gnat.com>
1190
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.
1194
1195 2001-11-28  Geert Bosch  <bosch@gnat.com>
1196
1197         * init.c: Minor whitespace changes.
1198
1199 2001-11-28  Doug Rupp  <rupp@gnat.com>
1200
1201         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
1202         signal stack.
1203
1204 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
1205
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.
1210
1211         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
1212         always have vprintf.
1213         (gnat_init): Always call set_internal_error_function.
1214
1215 2001-11-27  Andreas Jaeger  <aj@suse.de>
1216
1217         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
1218
1219 2001-11-27  Laurent Guerby  <guerby@acm.org>
1220
1221         * Makefile.in: Regenerate Ada dependencies.
1222
1223 2001-11-26  Richard Henderson  <rth@redhat.com>
1224
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.
1228
1229 2001-11-25  Laurent Guerby  <guerby@acm.org>
1230
1231         * sysdep.c (rts_get_*): Fix style.
1232
1233 2001-11-19  Laurent Guerby  <guerby@acm.org>
1234
1235         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
1236         since it is of no apparent use and cause warnings.
1237
1238 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
1239
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.
1244
1245 2001-11-17  Laurent Guerby  <guerby@acm.org>
1246
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.
1256
1257 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1258
1259         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
1260
1261 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
1262
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.
1268
1269 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1270
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.
1275
1276 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1277
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.
1282
1283 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1284
1285         * misc.c: Include langhooks-def.h.
1286         * Makefile.in: Update.
1287
1288 2001-10-30  Robert Dewar  <dewar@gnat.com>
1289
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
1294
1295 2001-10-30  Geert Bosch  <bosch@gnat.com>
1296
1297         * (Associated_Node, Set_Associated_Node): Do not check for
1298         Freeze_Entity.
1299
1300 2001-10-30  Robert Dewar  <dewar@gnat.com>
1301
1302         * a-reatim.ads: Minor reformatting
1303
1304 2001-10-30  Robert Dewar  <dewar@gnat.com>
1305
1306         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
1307         undocumented declarations.
1308
1309 2001-10-30  Pascal Obry  <obry@gnat.com>
1310
1311         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
1312         to the binder and linker.
1313         Minor style fix.
1314
1315         * mdll.ads: Fix layout.  Update copyright notice.
1316
1317         * mdll.adb: Fix layout.  Update copyright notice.
1318
1319 2001-10-30  Robert Dewar  <dewar@gnat.com>
1320
1321         * usage.adb: Minor fix to output for -gnaty.
1322
1323 2001-10-30  Ed Schonberg  <schonber@gnat.com>
1324
1325         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
1326         to accommodate all its possible values.
1327
1328         * a-reatim.adb (Split): Special-case handling of Time_Span_First
1329         and of small absolute values of T.
1330
1331 2001-10-30  Richard Kenner  <kenner@gnat.com>
1332
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.
1336
1337 2001-10-30  Geert Bosch  <bosch@gnat.com>
1338
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.
1341
1342 2001-10-30  Robert Dewar  <dewar@gnat.com>
1343
1344         * bindusg.adb: Undocument -f switch.
1345
1346         * gnatcmd.adb: Remove /FULL_ELABORATION.
1347
1348         * opt.ads (Force_RM_Elaboration_Order): Document that this is
1349         obsolescent.
1350
1351         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
1352
1353         * gnatbind.adb: Minor update of warning msg.
1354
1355 2001-10-30  Vincent Celier  <celier@gnat.com>
1356
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)
1361
1362 2001-10-30  Geert Bosch  <bosch@gnat.com>
1363
1364         * decl.c: Minor whitespace fixes.
1365
1366 2001-10-30  Richard Kenner  <kenner@gnat.com>
1367
1368         * utils2.c (build_allocator): Test for SIZE overflow in array case too
1369
1370 2001-10-30  Geert Bosch  <bosch@gnat.com>
1371
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.
1374
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.
1380
1381 2001-10-30  Robert Dewar  <dewar@gnat.com>
1382
1383         * lib.adb: Minor reformatting
1384
1385         * s-taprop.ads: Minor reformatting
1386
1387 2001-10-29  Laurent Guerby  <guerby@acm.org>
1388
1389         * init.c:
1390         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
1391         const.
1392         (_gnat_error_handler): Make MSG const.
1393
1394 2001-10-29  Richard Kenner  <kenner@gnat.com>
1395
1396         * sysdep.c: Fix localtime_r problem on LynxOS.
1397         Also remove #elif to avoid warnings.
1398
1399         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
1400         used by this.
1401
1402         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
1403
1404 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1405
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.
1416
1417 2001-10-27  Laurent Guerby  <guerby@acm.org>
1418
1419         * trans.c (gigi): Fix non determinism leading to bootstrap
1420         comparison failures for debugging information.
1421
1422 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
1423
1424         * gnat_rm.texi: Use @./@: where appropriate.
1425
1426 2001-10-26  Robert Dewar  <dewar@gnat.com>
1427
1428         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
1429
1430 2001-10-26  Richard Kenner  <kenner@gnat.com>
1431
1432         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
1433
1434 2001-10-26  Richard Kenner  <kenner@gnat.com>
1435
1436         * decl.c (validate_size): Modify message for bad size to avoid
1437         implication that compiler is modifying the size.
1438
1439 2001-10-26  Robert Dewar  <dewar@gnat.com>
1440
1441         * prj-util.adb: Minor reformatting. Fix bad header format.
1442
1443 2001-10-26  Robert Dewar  <dewar@gnat.com>
1444
1445         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
1446
1447         * sinfo.ads: Clarify use of Associated_Node (documentation only).
1448
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.
1452
1453 2001-10-26  Joel Brobecker  <brobecke@gnat.com>
1454
1455         * 5zosinte.ads (null_pthread): new constant.
1456
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.
1463
1464         * s-tasdeb.adb:
1465         (Resume_All_Tasks): Lock the tasks list before using it.
1466         (Suspend_All_Tasks): ditto.
1467
1468 2001-10-26  Richard Kenner  <kenner@gnat.com>
1469
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.
1473
1474         * trans.c (process_freeze_entity, process_type):
1475         Call update_pointer_to on main variant.
1476
1477         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
1478         If main variant, update all other variants.
1479
1480         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
1481         TREE_STATIC.
1482
1483 2001-10-26  Robert Dewar  <dewar@gnat.com>
1484
1485         * prj-util.adb: Minor reformatting
1486
1487 2001-10-26  Robert Dewar  <dewar@gnat.com>
1488
1489         * prj-util.adb: Minor reformatting
1490
1491 2001-10-26  Robert Dewar  <dewar@gnat.com>
1492
1493         * prj-attr.adb: Minor reformatting throughout
1494
1495 2001-10-26  Robert Dewar  <dewar@gnat.com>
1496
1497         * prj-attr.ads: Minor reformatting
1498         Add ??? comment (this whole spec has almost no comments)
1499
1500 2001-10-26  Vincent Celier  <celier@gnat.com>
1501
1502         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
1503         ("//") that precede the drive letter on Interix.
1504
1505 2001-10-26  Geert Bosch  <bosch@gnat.com>
1506
1507         * gnat_rm.texi: Add GNAT Reference Manual.
1508
1509 2001-10-25  Robert Dewar  <dewar@gnat.com>
1510
1511         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
1512         is Error. Similar change for other renaming cases.
1513
1514 2001-10-25  Robert Dewar  <dewar@gnat.com>
1515
1516         * s-atacco.ads: Add pragma Inline_Always for functions.
1517         Fix header format. Add copyright 2001
1518
1519 2001-10-25  Ed Schonberg  <schonber@gnat.com>
1520
1521         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
1522         return Error rather than Empty so that analysis can proceed.
1523
1524 2001-10-25  Ed Schonberg  <schonber@gnat.com>
1525
1526         * sem_util.adb (Enter_Name): better handling of cascaded error
1527         messages when a unit appears in its own context.
1528
1529 2001-10-25  Ed Schonberg  <schonber@gnat.com>
1530
1531         * sem_util.adb (Defining_Entity): in case of error, attach created
1532         entity to specification, so that semantic analysis can proceed.
1533
1534 2001-10-25  Robert Dewar  <dewar@gnat.com>
1535
1536         * sem_util.adb
1537         (Defining_Entity): Deal with Error.
1538         (Process_End_Label): Deal with bad end label for.
1539
1540 2001-10-25  Ed Schonberg  <schonber@gnat.com>
1541
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.
1544
1545 2001-10-25  Ed Schonberg  <schonber@gnat.com>
1546
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.
1549
1550 2001-10-25  Geert Bosch  <bosch@gnat.com>
1551
1552         * 4gintnam.ads: fix header format.
1553
1554 2001-10-25  Ed Schonberg  <schonber@gnat.com>
1555
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.
1559
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.
1563
1564 2001-10-25  Ed Schonberg  <schonber@gnat.com>
1565
1566         * sem_res.adb (Resolve): special-case resolution of Null in an
1567          instance or an inlined body to avoid view conflicts.
1568
1569         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
1570          compatibility by retrieving the access type of the generic copy.
1571
1572 2001-10-25  Robert Dewar  <dewar@gnat.com>
1573
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.
1578
1579         * sem_util.adb (Get_Index_Bounds): Check for Error.
1580
1581 2001-10-25  Robert Dewar  <dewar@gnat.com>
1582
1583         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
1584         in no run time mode.
1585
1586 2001-10-25  Pascal Obry  <obry@gnat.com>
1587
1588         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
1589         mode case for ALLOC case.
1590
1591         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
1592         all platforms. Improvement of last change.
1593
1594 2001-10-25  Robert Dewar  <dewar@gnat.com>
1595
1596         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
1597
1598 2001-10-25  Geert Bosch  <bosch@gnat.com>
1599
1600         * osint.adb (Is_Relative): Remove duplicate.
1601
1602 2001-10-25  Pascal Obry  <obry@gnat.com>
1603
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.
1607
1608         * osint.adb: Minor reformatting
1609
1610         * osint.adb (Is_Relative): implementation using
1611         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
1612
1613 2001-10-25  Pascal Obry  <obry@gnat.com>
1614
1615         * g-dirope.adb (Basename): correctly compute offset between the
1616         original Path and the translated one.
1617
1618         * g-dirope.adb: (Base_Name): add some comments.
1619
1620 2001-10-25  Robert Dewar  <dewar@gnat.com>
1621
1622         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
1623         in HIE mode, avoids compilation abandoned message
1624
1625         * exp_imgv.adb: Correct typo in previous change
1626
1627         * exp_imgv.adb: Correct typo in previous change (not my day!)
1628
1629 2001-10-25  Robert Dewar  <dewar@gnat.com>
1630
1631         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
1632
1633 2001-10-25  Pascal Obry  <obry@gnat.com>
1634
1635         * g-awk.ads: Move all pragma inlines next to the routine
1636          declarations. This is more uniform with other GNAT spec.
1637
1638 2001-10-22  Geert Bosch  <bosch@gnat.com>
1639
1640         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
1641
1642 2001-10-19  Geert Bosch  <bosch@gnat.com>
1643
1644         * Makefile.in (tools, gnattools): Remove gnatmem.
1645
1646 2001-10-17  Richard Henderson  <rth@redhat.com>
1647
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.
1653
1654 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
1655
1656         * trans.c (tree_transform): Adjust to recent change in
1657         expand_asm_operands to implement named asm operands.
1658
1659 2001-10-11  Ed Schonberg  <schonber@gnat.com>
1660
1661         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
1662         renaming of discriminant for mutable record type.
1663
1664 2001-10-11  Robert Dewar  <dewar@gnat.com>
1665
1666         * validsw.adb: Properly save -gnatVn status.
1667
1668 2001-10-11  Robert Dewar  <dewar@gnat.com>
1669
1670         * usage.adb: Add lines for V switch.
1671
1672         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
1673         (/VALIDITY_CHECKING).
1674
1675 2001-10-11  Ed Schonberg  <schonber@gnat.com>
1676
1677         * sem_type.adb (Add_One_Interp): an operator for a type declared in
1678         an extension of System is known to be visible.
1679
1680 2001-10-11  Ed Schonberg  <schonber@gnat.com>
1681
1682         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
1683         properly. Fixes regression on ACATS C34005G.
1684
1685 2001-10-11  Robert Dewar  <dewar@gnat.com>
1686
1687         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
1688         loop in generic instance, since this is likely not very useful.
1689
1690 2001-10-11  Robert Dewar  <dewar@gnat.com>
1691
1692         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
1693         the error message for high integrity mode.
1694
1695         * rtsfind.adb (RTE): Give message if we try to find an entity that
1696         is not available in high integrity mode.
1697
1698         * rtsfind.ads:
1699         (OK_To_Use_In_HIE_Mode): New array.
1700         (RTE): May return Empty in high integrity mode.
1701
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.
1704
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.
1708
1709         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
1710         body is deleted.
1711
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.
1714
1715 2001-10-11  Pascal Obry  <obry@gnat.com>
1716
1717         * impunit.adb: Add GNAT.CRC32.
1718
1719 2001-10-11  Ed Schonberg  <schonber@gnat.com>
1720
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.
1724
1725 2001-10-11  Ed Schonberg  <schonber@gnat.com>
1726
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.
1729
1730 2001-10-11  Ed Schonberg  <schonber@gnat.com>
1731
1732         * exp_ch7.adb (Make_Transient_Block): if statement is within
1733         exception handler, always use new transient scope to place Clean
1734         procedure.
1735
1736 2001-10-11  Pascal Obry  <obry@gnat.com>
1737
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
1743
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.
1750
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.
1756
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.
1760
1761         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
1762         is what this variable will store.
1763
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.
1769
1770         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
1771         now and not anymore a simple checksum.
1772
1773         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
1774         places.
1775
1776         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
1777
1778         * scans.adb:
1779         (Restore_Scan_State): rename Checksum to CRC.
1780         (Save_Scan_State): idem.
1781
1782         * scans.ads:
1783         With GNAT.CRC32.
1784         (Checksum): rename to CRC.
1785         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
1786
1787         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
1788         GNAT.CRC32).  Update copyright notice.
1789
1790         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
1791         GNAT.CRC32).  Update copyright notice.
1792
1793         * scn.adb:
1794         (Accumulate_Checksum): removed.
1795         (Update): new procedure. Add a wide-character into the CRC.
1796
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)
1801
1802         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
1803         Source_CRC in S initialization.
1804
1805         * sinput.adb (Source_Checksum): renamed to Source_CRC.
1806
1807         * sinput.ads (Source_Checksum): renamed to Source_CRC.
1808         Update comments for the CRC.
1809
1810         * types.adb (Hex): Use lowercase for the letter part.
1811
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).
1822
1823         * gnatvsn.ads (Library_Version): changed to 3.15a.
1824
1825         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
1826         for the compiler.
1827
1828         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
1829         for the compiler.
1830
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.
1834
1835         * ali-util.ads: Redo changes of previous revision to continue to use
1836         the word Checksum. Add 2001 to copyright notice.
1837
1838         * ali.adb: Undo some of previous changes, not needed.
1839         Keep the change for lower case letters in the checksum.
1840
1841         * ali.ads: Undo previous change not needed.
1842
1843         * bcheck.adb: Undo most of previous change, not needed.
1844         But do use Checksums_Match for checksum comparison.
1845
1846         * gnatls.adb: Undo most of previous change, not needed.
1847         But do use Checksums_Match for comparing checksums.
1848
1849         * lib-load.adb: Undo previous change, not needed.
1850
1851         * lib-writ.adb: Undo previous change, not needed.
1852
1853         * lib-writ.ads: Document that checksums use lower case,
1854         not upper case letters.
1855
1856         * scans.adb: Undo previous change, not needed
1857
1858         * scans.ads: Undo previous change, not needed.
1859
1860         * scn-nlit.adb: Undo previous changes, not needed.
1861
1862         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
1863
1864         * scn.adb:
1865         (Accumulate_Checksum): Use System.CRC32.
1866         (Initialize_Checksum): New procedure.
1867         Remove other changes of previous revision.
1868
1869         * sinput-p.adb: Undo previous change, not needed.
1870
1871         * sinput.adb: Undo previous change, not needed.
1872
1873         * sinput-l.adb: Undo previous change, not needed.
1874
1875         * sinput.ads: Undo previous change, not needed.  Keep only comment
1876         on new checksum algorithm
1877
1878         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
1879         Also remove a-tags and a-stream from GNAT sources.
1880
1881         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
1882
1883         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
1884
1885 2001-10-11  Geert Bosch  <bosch@gnat.com>
1886
1887         * einfo.h: Regenerate.
1888
1889         * nmake.ads: Regenerate.
1890
1891         * nmake.adb: Regenerate.
1892
1893         * sinfo.h: Regenerate.
1894
1895         * treeprs.adb: Regenerate.
1896
1897 2001-10-10  Geert Bosch  <bosch@gnat.com>
1898
1899         * gnat-style.texi: New file describing coding guidelines for Ada.
1900
1901 2001-10-10  Ed Schonberg  <schonber@gnat.com>
1902
1903         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
1904         is Flag174.
1905
1906 2001-10-10  Geert Bosch  <bosch@gnat.com>
1907
1908         * snames.ads: Add new names for project facility.
1909
1910         * snames.adb: Update to reflect snames.ads changes.
1911
1912         * snames.h: Update to reflect snames.ads changes.
1913
1914 2001-10-10  Vincent Celier  <celier@gnat.com>
1915
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.
1922
1923         * prj-attr.adb:
1924         (Initialisation_Data): Change the names of some packages and
1925         attributes.
1926         (Initialize): process case insensitive associative arrays.
1927
1928         * prj-attr.ads:
1929         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
1930
1931         * prj-dect.adb:
1932         (Parse_Attribute_Declaration): For case insensitive associative
1933          arrays, set the index string to lower case.
1934
1935         * prj-env.adb:
1936         Reflect the changes of the project attributes.
1937
1938         * prj-nmsc.adb:
1939         Replace Check_Naming_Scheme by Ada_Check and
1940         Language_Independent_Check.
1941
1942         * prj-nmsc.ads:
1943         Replaced Check_Naming_Scheme by 2 procedures:
1944         Ada_Check and Language_Independent_Check.
1945
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.
1951
1952         * prj-tree.adb:
1953         (Case_Insensitive): New function
1954         (Set_Case_Insensitive): New procedure
1955
1956         * prj-tree.ads:
1957         (Case_Insensitive): New function
1958         (Set_Case_Insensitive): New procedure
1959         (Project_Node_Record): New flag Case_Insensitive.
1960
1961         * prj-util.adb:
1962         (Value_Of): new function to get the string value of a single
1963         string variable or attribute.
1964
1965         * prj-util.ads:
1966         (Value_Of): new function to get the string value of a single
1967         string variable or attribute.
1968
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.
1974
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.
1982
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.
1991
1992         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
1993         Add comments.
1994
1995         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
1996         not that it is Nil_Variable_Value.
1997
1998         * prj.ads: Add ??? for uncommented declarations
1999
2000 2001-10-10  Ed Schonberg  <schonber@gnat.com>
2001
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.
2005
2006 2001-10-10  Robert Dewar  <dewar@gnat.com>
2007
2008         * sem_prag.adb: Add processing for pragma External.
2009
2010         * snames.ads: Add entry for pragma External.
2011
2012         * par-prag.adb: Add pragma External.
2013
2014         * snames.adb: Updated to match snames.ads.
2015
2016 2001-10-10  Ed Schonberg  <schonber@gnat.com>
2017
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.
2021
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.
2025
2026 2001-10-10  Ed Schonberg  <schonber@gnat.com>
2027
2028         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
2029         a generic package.
2030
2031         * einfo.ads: Body_Entity is also defined for generic package.
2032         Documentation change only
2033
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.
2037
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.
2041
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.
2048
2049 2001-10-10  Robert Dewar  <dewar@gnat.com>
2050
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
2054
2055 2001-10-10  Richard Kenner  <kenner@gnat.com>
2056
2057         * decl.c: (validate_size): Do check size of object of integral type
2058         if it is a packed array type.
2059
2060 2001-10-10  Richard Kenner  <kenner@gnat.com>
2061
2062         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
2063         VAR_DECL for constant if not Is_Public but -O0.
2064
2065 2001-10-10  Richard Kenner  <kenner@gnat.com>
2066
2067         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
2068
2069 2001-10-10  Geert Bosch  <bosch@gnat.com>
2070
2071         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
2072         use '/' as switch character, allowing for absolute file names.
2073
2074 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2075
2076         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
2077         FSF address.
2078
2079 2001-10-08  Geert Bosch  <bosch@gnat.com>
2080
2081         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
2082         Automatically build utilities when files need to be regenerated.
2083
2084 2001-10-08  Geert Bosch  <bosch@gnat.com>
2085
2086         * xsnames.adb: New utility for updating snames.ads and snames.adb
2087
2088 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
2089
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.
2099
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.
2104
2105         (gnattools): Depend directly on tools to build, don't use
2106         recursive make.
2107         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
2108
2109         * einfo.h, sinfo.h: New files (autogenerated).
2110
2111 2001-10-08  Richard Henderson  <rth@redhat.com>
2112
2113         * comperr.adb (Abort_In_Progress): New.
2114         (Compiler_Abort): Use it to prevent recursion.
2115
2116 2001-10-08  Robert Dewar  <dewar@gnat.com>
2117
2118         * atree.adb: Set Error_Posted in Error node, helps error recovery.
2119
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.
2122
2123         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
2124         to help error recovery. Part of general work on 9407-004.
2125
2126         * par.adb: Add ??? for misuse of error
2127
2128         * sem_res.adb:
2129         (Resolve): Defend against Error, fixes 9407-003.
2130         (Resolve_Discrete_Subtype_Indication): Defend against Error.
2131
2132         * sinfo.ads (N_Error): Now has Etype field (which will be set
2133         to Any_Type to help error recovery).
2134
2135 2001-10-08  Richard Kenner  <kenner@gnat.com>
2136
2137         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
2138         Consistently set MEM attributes from expression; fixes
2139         bootstrap failure on x86.
2140
2141 2001-10-08  Geert Bosch  <bosch@gnat.com>
2142
2143         * 5oosinte.adb: Add 2001 to copyright notice.
2144
2145 2001-10-08  Geert Bosch  <bosch@gnat.com>
2146
2147         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
2148
2149         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
2150
2151 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2152
2153         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
2154
2155 2001-10-05  Geert Bosch  <bosch@gnat.com>
2156
2157         * adaint.h: Small formatting fix.
2158
2159 2001-10-04  Geert Bosch  <bosch@gnat.com>
2160
2161         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
2162         Arg is int, not FILE *, in dummy version of functions.
2163
2164         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
2165         Arg is int, not FILE *.
2166
2167 2001-10-04  Geert Bosch  <bosch@gnat.com>
2168
2169         * 3lsoccon.ads: Added file, missed with initial check ins.
2170
2171         * 4lintnam.ads: Fix header format.
2172         Change Linux to GNU/Linux.
2173
2174         * 5iosinte.adb: Change Linux to GNU/Linux.
2175
2176         * 5iosinte.ads: Change Linux to GNU/Linux.
2177
2178         * 5itaprop.adb: Change Linux to GNU/Linux.
2179
2180         * 5itaspri.ads: Change Linux to GNU/Linux.
2181         Update copyright notice.
2182
2183         * 5lintman.adb: Change Linux to GNU/Linux.
2184
2185         * 5lml-tgt.adb: Change Linux to GNU/Linux.
2186
2187         * 5losinte.ads: Change Linux to GNU/Linux.
2188
2189         * 5lsystem.ads: Change Linux to GNU/Linux.
2190
2191         * 5qosinte.adb: Change Linux to GNU/Linux.
2192
2193         * 5qosinte.ads: Change Linux to GNU/Linux.
2194
2195         * 5qparame.ads: Change Linux to GNU/Linux.
2196
2197         * 5qtaprop.adb: Change Linux to GNU/Linux.
2198
2199         * 5qtaspri.ads: Change Linux to GNU/Linux.
2200         Add 2001 to copyright notice.
2201
2202         * 5vintman.ads: Change Linux to GNU/Linux.
2203         Fix header format.  Add 2001 to copyright notice.
2204
2205         * g-soccon.ads: Change Linux to GNU/Linux.
2206
2207         * g-trasym.ads: Change Linux to GNU/Linux.
2208         Add 2001 to copyright notice.
2209
2210         * memtrack.adb: Change Linux to GNU/Linux.
2211
2212         * s-intman.ads: Change Linux to GNU/Linux.
2213         Add 2001 to copyright notice.  Fix header format.
2214
2215         * s-stache.adb: Change Linux to GNU/Linux.
2216
2217         * adaint.c: Change Linux to GNU/Linux.
2218
2219         * cio.c: Change Linux to GNU/Linux.
2220
2221         * cstreams.c: Change Linux to GNU/Linux.
2222
2223         * init.c: Change Linux to GNU/Linux.
2224
2225         * gmem.c: Change Linux to GNU/Linux.
2226
2227         * tracebak.c: Change Linux to GNU/Linux.
2228
2229 2001-10-02  Geert Bosch  <bosch@gnat.com>
2230
2231         * misc.c (insert_default_attributes): Add dummy version.
2232
2233
2234 \f
2235 Copyright (C) 2001 Free Software Foundation, Inc.
2236
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.