OSDN Git Service

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