OSDN Git Service

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