OSDN Git Service

* einfo.h, nmake.adb, nmake.ads, sinfo.h, treeprs.ads: Regenerate.
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2001-12-04  Geert bosch <bosch@gnat.com>
2
3         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
4
5 2001-12-04  Geert Bosch  <bosch@gnat.com>
6
7         * Makefile.in (update-sources): New target. 
8         For use by gcc_release script.
9
10 2001-12-04  Ed Schonberg <schonber@gnat.com>
11
12         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as 
13         a configuration pragma, it is now legal wherever a pragma can appear.
14
15 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
16
17         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
18         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
19         is now @CROSS@ -DIN_GCC; update comment.
20
21 2001-12-04  Robert Dewar <dewar@gnat.com>
22
23         * einfo.adb (Has_Pragma_Pure_Function): New flag.
24         Fix problem that stopped ceinfo from working
25         
26         * einfo.ads (Has_Pragma_Pure_Function): New flag.
27         
28         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
29
30 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
31
32         * gnatchop.adb:
33         (File_Time_Stamp): New procedure.
34         (Preserve_Mode): New boolean.
35         (Write_Unit): Pass time stamp.
36         Implement -p switch (preserve time stamps).
37         
38         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
39         
40         * gnatchop.adb: Do usage info for -p switch
41         
42         * adaint.h (__gnat_set_file_time_name): New function
43         
44         * adaint.c (__gnat_set_file_time_name): Implement
45         
46         * adaint.h: Fix typo
47
48 2001-12-03  Robert Dewar <dewar@gnat.com>
49
50         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
51         have Associated_Node.
52
53 2001-12-03  Robert Dewar <dewar@gnat.com>
54
55         * prj-proc.adb: Minor reformatting
56
57         * make.adb: Minor reformatting
58
59 2001-12-03  Geert Bosch <bosch@gnat.com>
60
61         * make.adb: Minor reformatting.
62
63 2001-12-03   <dewar@gnat.com>
64
65         * sem_ch12.adb: Minor reformatting
66
67 2001-12-03  Ed Schonberg <schonber@gnat.com>
68
69         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
70         push Standard on the stack before analyzing the instance body,
71         in order to have a clean visibility environment.
72
73         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
74
75 2001-12-03  Ed Schonberg <schonber@gnat.com>
76
77         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
78         instantiation of a body that contains an inlined body.
79
80 2001-12-03  Ed Schonberg <schonber@gnat.com>
81
82         * sem_ch12.adb:
83         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
84         to prevent freezing within formal packages.
85         (Freeze_Subprogram_Body): If body comes from another instance that
86         appeared before its own body, place freeze node at end of current
87         declarative part, to prevent a back-end crash.
88         (Inline_Instance_Body): Handle properly a package instance within
89         a subprogram instance that is a child unit.
90
91 2001-12-01  Graham Stott  <grahams@redhat.com>
92
93         * Makefile.in (misc.o): Add missing $(srcdir) prefix
94         and add optabs.h dependency.
95
96         * misc.c: Include optabs.h
97         (gnat_tree_code_type): Make static and const.
98         (gnat_tree_code_length): Likewise.
99         (gnat_tree_code_name): Likewise.
100         (update_setjmp_buf): Obtain operands mode from insn_data.
101
102 2001-11-29  Richard Henderson  <rth@redhat.com>
103
104         * init.c: Remove obsolete dwarf2 frame.h section.
105
106 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
107
108         * Make-lang.in (ada.generated-manpages): New dummy target.
109
110 2001-11-29  Ed Schonberg <schonber@gnat.com>
111
112         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
113         into Command, an array conversion is illegal here. Uncovered by
114         ACATS B460005.
115
116 2001/11/28  Geert Bosch <bosch@gnat.com>
117
118         * init.c: Minor whitespace changes.
119
120 2001-11-28  Doug Rupp <rupp@gnat.com>
121
122         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
123         signal stack.
124
125 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
126
127         * misc.c (gnat_expand_constant): Move declaration above
128         definition of lang_hooks.
129         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
130         (gnat_init): lang_expand_constant no longer exists.
131
132         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
133         always have vprintf.
134         (gnat_init): Always call set_internal_error_function.
135
136 2001-11-27  Andreas Jaeger  <aj@suse.de>
137
138         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
139
140 2001-11-27  Laurent Guerby  <guerby@acm.org>
141
142         * Makefile.in: Regenerate Ada dependencies.
143
144 2001-11-26  Richard Henderson  <rth@redhat.com>
145
146         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
147         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
148         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
149
150 2001-11-25  Laurent Guerby  <guerby@acm.org>
151
152         * sysdep.c (rts_get_*): Fix style.
153
154 2001-11-19  Laurent Guerby  <guerby@acm.org>
155
156         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
157         since it is of no apparent use and cause warnings.
158
159 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
160
161         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
162         static too.
163         (gnat_init): Don't return NULL.
164         (finish_parse): Remove.
165
166 2001-11-17  Laurent Guerby  <guerby@acm.org>
167
168         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
169         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
170         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
171         * lang-spec.h: Add missing struct field to silence warnings.
172         * sysdep.c (rts_get_*): Provide K&R prototype.
173         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
174         * traceback.c (Unlock_Task, Lock_Task): Likewise.
175         * tracebak.c (__gnat_backtrace): Remove unused variable.
176         * utils.c (end_subprog_body): Move to K&R style.
177
178 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
179
180         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
181
182 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
183
184         * misc.c (gnat_init): Change prototype.  Include the
185         functionality of the old init_parse and init_decl_processing.
186         (gnat_init_decl_processing): New prototype.
187         (init_parse): Remove.
188         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
189
190 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
191
192         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
193         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
194         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
195         set_yydebug): Remove.
196
197 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
198
199         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
200         (struct lang_hooks): Constify.
201         (language_string, lang_identify): Remove.
202         * utils.c (init_decl_processing): Update.
203
204 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
205
206         * misc.c: Include langhooks-def.h.
207         * Makefile.in: Update.
208
209 2001-10-30  Robert Dewar <dewar@gnat.com>
210
211         * style.adb:
212         (Check_Identifier): Rewrite circuit to be compatible with use of letters
213         in the upper half of ASCII.
214         (Check_Identifier): Minor reformatting
215
216 2001-10-30  Geert Bosch <bosch@gnat.com>
217
218         * (Associated_Node, Set_Associated_Node): Do not check for
219         Freeze_Entity.
220
221 2001-10-30  Robert Dewar <dewar@gnat.com>
222
223         * a-reatim.ads: Minor reformatting
224
225 2001-10-30  Robert Dewar <dewar@gnat.com>
226
227         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
228         undocumented declarations.
229
230 2001-10-30  Pascal Obry <obry@gnat.com>
231
232         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
233         to the binder and linker.
234         Minor style fix.
235
236         * mdll.ads: Fix layout.  Update copyright notice.
237
238         * mdll.adb: Fix layout.  Update copyright notice.
239
240 2001-10-30  Robert Dewar <dewar@gnat.com>
241
242         * usage.adb: Minor fix to output for -gnaty.
243
244 2001-10-30  Ed Schonberg <schonber@gnat.com>
245
246         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
247         to accommodate all its possible values.
248
249         * a-reatim.adb (Split): Special-case handling of Time_Span_First
250         and of small absolute values of T.
251
252 2001-10-30  Richard Kenner <kenner@gnat.com>
253
254         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
255         set_mem_attributes since not needed and wrong if RESULT if a REG;
256         fixes ACATS failures.
257
258 2001-10-30  Geert Bosch <bosch@gnat.com>
259
260         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
261         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
262
263 2001-10-30  Robert Dewar <dewar@gnat.com>
264
265         * bindusg.adb: Undocument -f switch.
266
267         * gnatcmd.adb: Remove /FULL_ELABORATION.
268
269         * opt.ads (Force_RM_Elaboration_Order): Document that this is
270         obsolescent.
271
272         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
273
274         * gnatbind.adb: Minor update of warning msg.
275
276 2001-10-30  Vincent Celier <celier@gnat.com>
277
278         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
279         for project file switches (-P (/PROJECT_FILE=),
280          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
281         or MEDIUM or HIGH)
282
283 2001-10-30  Geert Bosch <bosch@gnat.com>
284
285         * decl.c: Minor whitespace fixes.
286
287 2001-10-30  Richard Kenner <kenner@gnat.com>
288
289         * utils2.c (build_allocator): Test for SIZE overflow in array case too
290
291 2001-10-30  Geert Bosch <bosch@gnat.com>
292
293         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
294         Found due to GCC 3.0 warning of using uninitialized value.
295
296         * layout.adb:
297         (Get_Max_Size): Use variant record for tracking value/expression.
298          Makes logic clearer and prevents warnings for uninitialized variables.
299         (Layout_Array_Type): Use variant record for tracking value/expression.
300          Makes logic clearer and prevents warnings for uninitialized variables.
301
302 2001-10-30  Robert Dewar <dewar@gnat.com>
303
304         * lib.adb: Minor reformatting
305
306         * s-taprop.ads: Minor reformatting
307
308 2001-10-29  Laurent Guerby  <guerby@acm.org>
309
310         * init.c:
311         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
312         const.
313         (_gnat_error_handler): Make MSG const.
314
315 2001-10-29  Richard Kenner <kenner@gnat.com>
316
317         * sysdep.c: Fix localtime_r problem on LynxOS.
318         Also remove #elif to avoid warnings.
319
320         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
321         used by this.
322
323         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
324
325 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
326
327         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
328         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
329         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
330         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
331         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
332         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
333         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
334         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
335         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
336         types.ads, urealp.adb: Fix spelling errors.
337
338 2001-10-27  Laurent Guerby <guerby@acm.org>
339
340         * trans.c (gigi): Fix non determinism leading to bootstrap
341         comparison failures for debugging information.
342
343 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
344
345         * gnat_rm.texi: Use @./@: where appropriate.
346
347 2001-10-26  Robert Dewar <dewar@gnat.com>
348
349         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
350
351 2001-10-26  Richard Kenner <kenner@gnat.com>
352
353         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
354
355 2001-10-26  Richard Kenner <kenner@gnat.com>
356
357         * decl.c (validate_size): Modify message for bad size to avoid
358         implication that compiler is modifying the size.
359
360 2001-10-26  Robert Dewar <dewar@gnat.com>
361
362         * prj-util.adb: Minor reformatting. Fix bad header format.
363
364 2001-10-26  Robert Dewar <dewar@gnat.com>
365
366         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
367
368         * sinfo.ads: Clarify use of Associated_Node (documentation only).
369
370         * sem_ch12.adb: Change Node4 to Associated_Node. Change
371         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
372         much more narrowly in places where needed. These are cleanups.
373
374 2001-10-26  Joel Brobecker <brobecke@gnat.com>
375
376         * 5zosinte.ads (null_pthread): new constant.
377
378         * 5ztaprop.adb:
379         (Initialize_TCB): Initialize thread ID to null, to be able to verify
380          later that this field has been set.
381         (Finalize_TCB): ditto.
382         (Suspend_Task): Verify that the thread ID is not null before using it.
383         (Resume_Task): ditto.
384
385         * s-tasdeb.adb:
386         (Resume_All_Tasks): Lock the tasks list before using it.
387         (Suspend_All_Tasks): ditto.
388
389 2001-10-26  Richard Kenner <kenner@gnat.com>
390
391         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
392         Make constant variant of designated type for Is_Access_Constant.
393         Call update_pointer_to with main variant.
394
395         * trans.c (process_freeze_entity, process_type):
396         Call update_pointer_to on main variant.
397
398         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
399         If main variant, update all other variants.
400
401         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
402         TREE_STATIC.
403
404 2001-10-26  Robert Dewar <dewar@gnat.com>
405
406         * prj-util.adb: Minor reformatting
407
408 2001-10-26  Robert Dewar <dewar@gnat.com>
409
410         * prj-util.adb: Minor reformatting
411
412 2001-10-26  Robert Dewar <dewar@gnat.com>
413
414         * prj-attr.adb: Minor reformatting throughout
415
416 2001-10-26  Robert Dewar <dewar@gnat.com>
417
418         * prj-attr.ads: Minor reformatting
419         Add ??? comment (this whole spec has almost no comments)
420
421 2001-10-26  Vincent Celier <celier@gnat.com>
422
423         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
424         ("//") that precede the drive letter on Interix.
425
426 2001-10-26  Geert Bosch <bosch@gnat.com>
427
428         * gnat_rm.texi: Add GNAT Reference Manual.
429
430 2001-10-25  Robert Dewar <dewar@gnat.com>
431
432         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
433         is Error. Similar change for other renaming cases.
434
435 2001-10-25  Robert Dewar <dewar@gnat.com>
436
437         * s-atacco.ads: Add pragma Inline_Always for functions.
438         Fix header format. Add copyright 2001
439
440 2001-10-25  Ed Schonberg <schonber@gnat.com>
441
442         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
443         return Error rather than Empty so that analysis can proceed.
444
445 2001-10-25  Ed Schonberg <schonber@gnat.com>
446
447         * sem_util.adb (Enter_Name): better handling of cascaded error
448         messages when a unit appears in its own context.
449
450 2001-10-25  Ed Schonberg <schonber@gnat.com>
451
452         * sem_util.adb (Defining_Entity): in case of error, attach created
453         entity to specification, so that semantic analysis can proceed.
454
455 2001-10-25  Robert Dewar <dewar@gnat.com>
456
457         * sem_util.adb
458         (Defining_Entity): Deal with Error.
459         (Process_End_Label): Deal with bad end label for.
460
461 2001-10-25  Ed Schonberg <schonber@gnat.com>
462
463         * sem_elab.adb (Check_A_Call): refine message when call is in an
464         instance but callee is not declared in the generic unit.
465
466 2001-10-25  Ed Schonberg <schonber@gnat.com>
467
468         * sem_elab.adb (Check_A_Call): check for renaming before finding the
469         enclosing unit, which may already be different from the calling unit.
470
471 2001-10-25  Geert Bosch <bosch@gnat.com>
472
473         * 4gintnam.ads: fix header format.
474
475 2001-10-25  Ed Schonberg <schonber@gnat.com>
476
477         * sem_res.adb (Resolve_Call): if the call is actually an indexing
478         operation on the result of a parameterless call, perform elaboration
479         check after the node has been properly rewritten.
480
481         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
482         inlined within the generic tree, the defining identifier is not a
483         compilation_unit.
484
485 2001-10-25  Ed Schonberg <schonber@gnat.com>
486
487         * sem_res.adb (Resolve): special-case resolution of Null in an
488          instance or an inlined body to avoid view conflicts.
489
490         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
491          compatibility by retrieving the access type of the generic copy.
492
493 2001-10-25  Robert Dewar <dewar@gnat.com>
494
495         * sem_ch3.adb:
496         (Analyze_Number_Declaration): Handle error expression.
497         (Signed_Integer_Type_Declaration): Handle error bound.
498         (Analyze_Subtype_Indication): Handle error range.
499
500         * sem_util.adb (Get_Index_Bounds): Check for Error.
501
502 2001-10-25  Robert Dewar <dewar@gnat.com>
503
504         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
505         in no run time mode.
506
507 2001-10-25  Pascal Obry <obry@gnat.com>
508
509         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
510         mode case for ALLOC case.
511
512         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
513         all platforms. Improvement of last change.
514
515 2001-10-25  Robert Dewar <dewar@gnat.com>
516
517         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
518
519 2001-10-25  Geert Bosch  <bosch@gnat.com>
520
521         * osint.adb (Is_Relative): Remove duplicate.
522
523 2001-10-25  Pascal Obry <obry@gnat.com>
524
525         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
526         pathnames in UNIX and DOS style with drive letter.
527         (Is_Relative): new routine.
528
529         * osint.adb: Minor reformatting
530
531         * osint.adb (Is_Relative): implementation using
532         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
533
534 2001-10-25  Pascal Obry <obry@gnat.com>
535
536         * g-dirope.adb (Basename): correctly compute offset between the
537         original Path and the translated one.
538
539         * g-dirope.adb: (Base_Name): add some comments.
540
541 2001-10-25  Robert Dewar <dewar@gnat.com>
542
543         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
544         in HIE mode, avoids compilation abandoned message
545
546         * exp_imgv.adb: Correct typo in previous change
547
548         * exp_imgv.adb: Correct typo in previous change (not my day!)
549
550 2001-10-25  Robert Dewar <dewar@gnat.com>
551
552         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
553
554 2001-10-25  Pascal Obry <obry@gnat.com>
555
556         * g-awk.ads: Move all pragma inlines next to the routine
557          declarations. This is more uniform with other GNAT spec.
558
559 2001-10-22  Geert Bosch  <bosch@gnat.com>
560
561         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
562
563 2001-10-19  Geert Bosch  <bosch@gnat.com>
564
565         * Makefile.in (tools, gnattools): Remove gnatmem.
566
567 2001-10-17  Richard Henderson  <rth@redhat.com>
568
569         * Makefile.in (misc.o): Depend on langhooks.h.
570         * misc.c: Include it.
571         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
572         (LANG_HOOKS_DECODE_OPTION): New.
573         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
574
575 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
576
577         * trans.c (tree_transform): Adjust to recent change in
578         expand_asm_operands to implement named asm operands.
579
580 2001-10-11  Ed Schonberg  <schonber@gnat.com>
581
582         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
583         renaming of discriminant for mutable record type.
584
585 2001-10-11  Robert Dewar  <dewar@gnat.com>
586
587         * validsw.adb: Properly save -gnatVn status.
588
589 2001-10-11  Robert Dewar <dewar@gnat.com>
590
591         * usage.adb: Add lines for V switch.
592
593         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
594         (/VALIDITY_CHECKING).
595
596 2001-10-11  Ed Schonberg <schonber@gnat.com>
597
598         * sem_type.adb (Add_One_Interp): an operator for a type declared in
599         an extension of System is known to be visible.
600
601 2001-10-11  Ed Schonberg <schonber@gnat.com>
602
603         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
604         properly. Fixes regression on ACATS C34005G.
605
606 2001-10-11  Robert Dewar <dewar@gnat.com>
607
608         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
609         loop in generic instance, since this is likely not very useful.
610
611 2001-10-11  Robert Dewar <dewar@gnat.com>
612
613         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
614         the error message for high integrity mode.
615
616         * rtsfind.adb (RTE): Give message if we try to find an entity that
617         is not available in high integrity mode.
618
619         * rtsfind.ads:
620         (OK_To_Use_In_HIE_Mode): New array.
621         (RTE): May return Empty in high integrity mode.
622
623         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
624         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
625
626         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
627         unit if not inlined always and in no runtime mode. Fixes problem
628         caused by new Rtsfind changes.
629
630         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
631         body is deleted.
632
633         * rtsfind.adb (RTE): Make sure we do not try to load unit after
634         giving message for entity not available in high integrity mode.
635
636 2001-10-11  Pascal Obry <obry@gnat.com>
637
638         * impunit.adb: Add GNAT.CRC32.
639
640 2001-10-11  Ed Schonberg <schonber@gnat.com>
641
642         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
643         properly the case where one universal operand in a non-static
644         exponentiation of a real literal.
645
646 2001-10-11  Ed Schonberg <schonber@gnat.com>
647
648         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
649         clause, return the gobal finalization list, for lack of anthing else.
650
651 2001-10-11  Ed Schonberg <schonber@gnat.com>
652
653         * exp_ch7.adb (Make_Transient_Block): if statement is within
654         exception handler, always use new transient scope to place Clean
655         procedure.
656
657 2001-10-11  Pascal Obry <obry@gnat.com>
658
659         * Makefile.in:
660         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
661         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
662         (GNATLS_RTL_OBJS): add g-crc32.o
663         (GNATMAKE_RTL_OBJS): add g-crc32.o
664
665         * ali-util.adb:
666         (CRC_Match): new function.
667         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
668         instead of the previous simple checksum algorithm.
669         (Time_Stamp_Mismatch): use CRC_Match for comparison.
670         (Set_Source_Table): idem.
671
672         * ali-util.ads:
673         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
674         instead of simple checksum.
675         (CRC_Match): new function.
676         (CRC_Error): new constant.
677
678         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
679         a CRC now and not a simple checksum. A CRC uses lower-case hex
680         letters, fixes ambiguity in parsing.
681
682         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
683         is what this variable will store.
684
685         * bcheck.adb: Change reference to chechsum in comments by CRC.
686         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
687         rename All_Checksum_Match to All_CRC_Match. Change due to API
688         renaming since now GNAT does not use a simple checksum but a
689         CRC using GNAT.CRC32.
690
691         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
692         now and not anymore a simple checksum.
693
694         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
695         places.
696
697         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
698
699         * scans.adb:
700         (Restore_Scan_State): rename Checksum to CRC.
701         (Save_Scan_State): idem.
702
703         * scans.ads:
704         With GNAT.CRC32.
705         (Checksum): rename to CRC.
706         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
707
708         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
709         GNAT.CRC32).  Update copyright notice.
710
711         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
712         GNAT.CRC32).  Update copyright notice.
713
714         * scn.adb:
715         (Accumulate_Checksum): removed.
716         (Update): new procedure. Add a wide-character into the CRC.
717
718         * sinput-l.adb:
719         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
720         (Load_File): fix initialization of S (change Source_Checksum to
721         Source_CRC)
722
723         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
724         Source_CRC in S initialization.
725
726         * sinput.adb (Source_Checksum): renamed to Source_CRC.
727
728         * sinput.ads (Source_Checksum): renamed to Source_CRC.
729         Update comments for the CRC.
730
731         * types.adb (Hex): Use lowercase for the letter part.
732
733         * types.ads (Get_Hex_String): Returns the hexadecimal representation
734         for a word. This is currently used only for CRC. In previous version,
735         the checksum was using a representation with all letter being
736         upper-case. With the new implementation (using CRC) we do not remove
737         the 32th bit of the CRC, so we can have an upper-case starting letter
738         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
739         It is ambigous since the CRC was optional and could be followed by
740         options like EB, EE. So now this routines uses lower-case letter for
741         the hexadecimal representation. Strange enough only lower case letters
742         where checked in Scan_ALI (even if this was not a possible case).
743
744         * gnatvsn.ads (Library_Version): changed to 3.15a.
745
746         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
747         for the compiler.
748
749         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
750         for the compiler.
751
752         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
753         Add 2001 to copyright notice
754         (Accumulate_Checksum): Modify to use System.CRC32.
755
756         * ali-util.ads: Redo changes of previous revision to continue to use
757         the word Checksum. Add 2001 to copyright notice.
758
759         * ali.adb: Undo some of previous changes, not needed.
760         Keep the change for lower case letters in the checksum.
761
762         * ali.ads: Undo previous change not needed.
763
764         * bcheck.adb: Undo most of previous change, not needed.
765         But do use Checksums_Match for checksum comparison.
766
767         * gnatls.adb: Undo most of previous change, not needed.
768         But do use Checksums_Match for comparing checksums.
769
770         * lib-load.adb: Undo previous change, not needed.
771
772         * lib-writ.adb: Undo previous change, not needed.
773
774         * lib-writ.ads: Document that checksums use lower case,
775         not upper case letters.
776
777         * scans.adb: Undo previous change, not needed
778
779         * scans.ads: Undo previous change, not needed.
780
781         * scn-nlit.adb: Undo previous changes, not needed.
782
783         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
784
785         * scn.adb:
786         (Accumulate_Checksum): Use System.CRC32.
787         (Initialize_Checksum): New procedure.
788         Remove other changes of previous revision.
789
790         * sinput-p.adb: Undo previous change, not needed.
791
792         * sinput.adb: Undo previous change, not needed.
793
794         * sinput-l.adb: Undo previous change, not needed.
795
796         * sinput.ads: Undo previous change, not needed.  Keep only comment
797         on new checksum algorithm
798
799         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
800         Also remove a-tags and a-stream from GNAT sources.
801
802         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
803
804         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
805
806 2001-10-11  Geert Bosch  <bosch@gnat.com>
807
808         * einfo.h: Regenerate.
809
810         * nmake.ads: Regenerate.
811
812         * nmake.adb: Regenerate.
813
814         * sinfo.h: Regenerate.
815
816         * treeprs.adb: Regenerate.
817
818 2001-10-10  Geert Bosch  <bosch@gnat.com>
819
820         * gnat-style.texi: New file describing coding guidelines for Ada.
821
822 2001-10-10  Ed Schonberg <schonber@gnat.com>
823
824         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
825         is Flag174.
826
827 2001-10-10  Geert Bosch  <bosch@gnat.com>
828
829         * snames.ads: Add new names for project facility.
830
831         * snames.adb: Update to reflect snames.ads changes.
832
833         * snames.h: Update to reflect snames.ads changes.
834
835 2001-10-10  Vincent Celier <celier@gnat.com>
836
837         * make.adb:
838         (Add_Switches): reflect the changes for the switches attributes
839         Default_Switches indexed by the programming language,
840         Switches indexed by the file name.
841         (Collect_Arguments_And_Compile): Idem.
842         Reflect the attribute name changes.
843
844         * prj-attr.adb:
845         (Initialisation_Data): Change the names of some packages and
846         attributes.
847         (Initialize): process case insensitive associative arrays.
848
849         * prj-attr.ads:
850         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
851
852         * prj-dect.adb:
853         (Parse_Attribute_Declaration): For case insensitive associative
854          arrays, set the index string to lower case.
855
856         * prj-env.adb:
857         Reflect the changes of the project attributes.
858
859         * prj-nmsc.adb:
860         Replace Check_Naming_Scheme by Ada_Check and
861         Language_Independent_Check.
862
863         * prj-nmsc.ads:
864         Replaced Check_Naming_Scheme by 2 procedures:
865         Ada_Check and Language_Independent_Check.
866
867         * prj-proc.adb:
868         (Process_Declarative_Items): For case-insensitive associative
869         arrays, set the index string to lower case.
870         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
871         Prj.Nmsc.Check_Naming_Scheme.
872
873         * prj-tree.adb:
874         (Case_Insensitive): New function
875         (Set_Case_Insensitive): New procedure
876
877         * prj-tree.ads:
878         (Case_Insensitive): New function
879         (Set_Case_Insensitive): New procedure
880         (Project_Node_Record): New flag Case_Insensitive.
881
882         * prj-util.adb:
883         (Value_Of): new function to get the string value of a single
884         string variable or attribute.
885
886         * prj-util.ads:
887         (Value_Of): new function to get the string value of a single
888         string variable or attribute.
889
890         * prj.adb:
891         (Ada_Default_Spec_Suffix): New function
892         (Ada_Default_Impl_Suffix): New function
893         Change definitions of several constants to reflect
894         new components of record types.
895
896         * prj.ads:
897         (Naming_Data): Change several components to reflect new
898         elements of naming schemes.
899         (Project_Data): New flags Sources_Present and
900         Language_Independent_Checked.
901         (Ada_Default_Spec_Suffix): New function.
902         (Ada_Default_Impl_Suffix): New function.
903
904         * snames.ads:
905         Modification of predefined names for project manager: added
906         Implementation, Specification_Exceptions, Implementation_Exceptions,
907         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
908         Default_Switches, _Languages, Builder, Cross_Reference,
909         Finder. Removed Body_Part, Specification_Append, Body_Append,
910         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
911         Gnatlink.
912
913         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
914         Add comments.
915
916         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
917         not that it is Nil_Variable_Value.
918
919         * prj.ads: Add ??? for uncommented declarations
920
921 2001-10-10  Ed Schonberg <schonber@gnat.com>
922
923         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
924         constant, do not indicate possible modification, so that gigi can
925         treat it as a bona fide constant.
926
927 2001-10-10  Robert Dewar <dewar@gnat.com>
928
929         * sem_prag.adb: Add processing for pragma External.
930
931         * snames.ads: Add entry for pragma External.
932
933         * par-prag.adb: Add pragma External.
934
935         * snames.adb: Updated to match snames.ads.
936
937 2001-10-10  Ed Schonberg <schonber@gnat.com>
938
939         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
940         a dynamic task if the allocator appears in an indexed assignment
941         or selected component assignment.
942
943         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
944         For a dynamic task in an assignment statement, use target of
945         assignment to generate meaningful name.
946
947 2001-10-10  Ed Schonberg <schonber@gnat.com>
948
949         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
950         a generic package.
951
952         * einfo.ads: Body_Entity is also defined for generic package.
953         Documentation change only
954
955         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
956         others_choice for a discriminated component initialization,
957         convert discriminant references into the corresponding discriminals.
958
959         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
960         only if original type is private and expression has to be wrapped
961         in a conversion.
962
963         * checks.adb:
964         (Apply_Constraint_Check): Do not perform length check
965         if expression is an aggregate with only an others_choice.
966         (Length_N_Cond): two references to the same in_parameter
967         (typically the discriminal in an init_proc) denote the same value.
968         Two useful optimization uncovered by bugfixes above.
969
970 2001-10-10  Robert Dewar <dewar@gnat.com>
971
972         * xeinfo.adb: Change int to char in translation of enumeration types.
973         This fixes a problem in the C representation of component alignment.
974         Add 2001 to copyright notice
975
976 2001-10-10  Richard Kenner <kenner@gnat.com>
977
978         * decl.c: (validate_size): Do check size of object of integral type
979         if it is a packed array type.
980
981 2001-10-10  Richard Kenner <kenner@gnat.com>
982
983         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
984         VAR_DECL for constant if not Is_Public but -O0.
985
986 2001-10-10  Richard Kenner  <kenner@gnat.com>
987
988         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
989
990 2001-10-10  Geert Bosch  <bosch@gnat.com>
991
992         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
993         use '/' as switch character, allowing for absolute file names.
994
995 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
996
997         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
998         FSF address.
999
1000 2001-10-08  Geert Bosch  <bosch@gnat.com>
1001
1002         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
1003         Automatically build utilities when files need to be regenerated.
1004
1005 2001-10-08  Geert Bosch  <bosch@gnat.com>
1006
1007         * xsnames.adb: New utility for updating snames.ads and snames.adb
1008
1009 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
1010
1011         * Make-lang.in (ADAFLAGS): Add -W -Wall.
1012         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
1013         (gnat1): Also depend on attribs.o.
1014         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
1015         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
1016         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
1017         (ADAFLAGS): Add -W -Wall.
1018         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
1019         take out CFLAGS.
1020
1021         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
1022         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
1023         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
1024         Use $(ADAC), not $(CC), as compilation command.
1025
1026         (gnattools): Depend directly on tools to build, don't use
1027         recursive make.
1028         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
1029
1030         * einfo.h, sinfo.h: New files (autogenerated).
1031
1032 2001-10-08  Richard Henderson  <rth@redhat.com>
1033
1034         * comperr.adb (Abort_In_Progress): New.
1035         (Compiler_Abort): Use it to prevent recursion.
1036
1037 2001-10-08  Robert Dewar <dewar@gnat.com>
1038
1039         * atree.adb: Set Error_Posted in Error node, helps error recovery.
1040
1041         * par-endh.adb (Output_End_Expected): We should also not test
1042         Error_Posted on the Error node, since now it is always set.
1043
1044         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
1045         to help error recovery. Part of general work on 9407-004.
1046
1047         * par.adb: Add ??? for misuse of error
1048
1049         * sem_res.adb:
1050         (Resolve): Defend against Error, fixes 9407-003.
1051         (Resolve_Discrete_Subtype_Indication): Defend against Error.
1052
1053         * sinfo.ads (N_Error): Now has Etype field (which will be set
1054         to Any_Type to help error recovery).
1055
1056 2001-10-08  Richard Kenner (kenner@gnat.com)
1057
1058         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
1059         Consistently set MEM attributes from expression; fixes
1060         bootstrap failure on x86.
1061
1062 2001-10-08  Geert Bosch  (bosch@gnat.com)
1063
1064         * 5oosinte.adb: Add 2001 to copyright notice.
1065
1066 2001-10-08  Geert Bosch  (bosch@gnat.com)
1067
1068         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
1069
1070         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
1071
1072 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1073
1074         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
1075
1076 2001-10-05  Geert Bosch  (bosch@gnat.com)
1077
1078         * adaint.h: Small formatting fix.
1079
1080 2001-10-04  Geert Bosch  <bosch@gnat.com>
1081
1082         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
1083         Arg is int, not FILE *, in dummy version of functions.
1084
1085         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
1086         Arg is int, not FILE *.
1087
1088 2001-10-04  Geert Bosch  <bosch@gnat.com>
1089
1090         * 3lsoccon.ads: Added file, missed with initial check ins.
1091
1092         * 4lintnam.ads: Fix header format.
1093         Change Linux to GNU/Linux.
1094
1095         * 5iosinte.adb: Change Linux to GNU/Linux.
1096
1097         * 5iosinte.ads: Change Linux to GNU/Linux.
1098
1099         * 5itaprop.adb: Change Linux to GNU/Linux.
1100
1101         * 5itaspri.ads: Change Linux to GNU/Linux.
1102         Update copyright notice.
1103
1104         * 5lintman.adb: Change Linux to GNU/Linux.
1105
1106         * 5lml-tgt.adb: Change Linux to GNU/Linux.
1107
1108         * 5losinte.ads: Change Linux to GNU/Linux.
1109
1110         * 5lsystem.ads: Change Linux to GNU/Linux.
1111
1112         * 5qosinte.adb: Change Linux to GNU/Linux.
1113
1114         * 5qosinte.ads: Change Linux to GNU/Linux.
1115
1116         * 5qparame.ads: Change Linux to GNU/Linux.
1117
1118         * 5qtaprop.adb: Change Linux to GNU/Linux.
1119
1120         * 5qtaspri.ads: Change Linux to GNU/Linux.
1121         Add 2001 to copyright notice.
1122
1123         * 5vintman.ads: Change Linux to GNU/Linux.
1124         Fix header format.  Add 2001 to copyright notice.
1125
1126         * g-soccon.ads: Change Linux to GNU/Linux.
1127
1128         * g-trasym.ads: Change Linux to GNU/Linux.
1129         Add 2001 to copyright notice.
1130
1131         * memtrack.adb: Change Linux to GNU/Linux.
1132
1133         * s-intman.ads: Change Linux to GNU/Linux.
1134         Add 2001 to copyright notice.  Fix header format.
1135
1136         * s-stache.adb: Change Linux to GNU/Linux.
1137
1138         * adaint.c: Change Linux to GNU/Linux.
1139
1140         * cio.c: Change Linux to GNU/Linux.
1141
1142         * cstreams.c: Change Linux to GNU/Linux.
1143
1144         * init.c: Change Linux to GNU/Linux.
1145
1146         * gmem.c: Change Linux to GNU/Linux.
1147
1148         * tracebak.c: Change Linux to GNU/Linux.
1149
1150
1151 2001-10-02  Geert Bosch  <bosch@gnat.com>
1152
1153         * misc.c (insert_default_attributes): Add dummy version.