OSDN Git Service

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