1 2001-12-04 Geert bosch <bosch@gnat.com>
3 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
5 2001-12-04 Geert Bosch <bosch@gnat.com>
7 * Makefile.in (update-sources): New target.
8 For use by gcc_release script.
10 2001-12-04 Ed Schonberg <schonber@gnat.com>
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.
15 2001-12-04 Zack Weinberg <zack@codesourcery.com>
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.
21 2001-12-04 Robert Dewar <dewar@gnat.com>
23 * einfo.adb (Has_Pragma_Pure_Function): New flag.
24 Fix problem that stopped ceinfo from working
26 * einfo.ads (Has_Pragma_Pure_Function): New flag.
28 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
30 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
33 (File_Time_Stamp): New procedure.
34 (Preserve_Mode): New boolean.
35 (Write_Unit): Pass time stamp.
36 Implement -p switch (preserve time stamps).
38 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
40 * gnatchop.adb: Do usage info for -p switch
42 * adaint.h (__gnat_set_file_time_name): New function
44 * adaint.c (__gnat_set_file_time_name): Implement
48 2001-12-03 Robert Dewar <dewar@gnat.com>
50 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
53 2001-12-03 Robert Dewar <dewar@gnat.com>
55 * prj-proc.adb: Minor reformatting
57 * make.adb: Minor reformatting
59 2001-12-03 Geert Bosch <bosch@gnat.com>
61 * make.adb: Minor reformatting.
63 2001-12-03 <dewar@gnat.com>
65 * sem_ch12.adb: Minor reformatting
67 2001-12-03 Ed Schonberg <schonber@gnat.com>
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.
73 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
75 2001-12-03 Ed Schonberg <schonber@gnat.com>
77 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
78 instantiation of a body that contains an inlined body.
80 2001-12-03 Ed Schonberg <schonber@gnat.com>
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.
91 2001-12-01 Graham Stott <grahams@redhat.com>
93 * Makefile.in (misc.o): Add missing $(srcdir) prefix
94 and add optabs.h dependency.
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.
102 2001-11-29 Richard Henderson <rth@redhat.com>
104 * init.c: Remove obsolete dwarf2 frame.h section.
106 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
108 * Make-lang.in (ada.generated-manpages): New dummy target.
110 2001-11-29 Ed Schonberg <schonber@gnat.com>
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
116 2001/11/28 Geert Bosch <bosch@gnat.com>
118 * init.c: Minor whitespace changes.
120 2001-11-28 Doug Rupp <rupp@gnat.com>
122 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
125 2001-11-28 Zack Weinberg <zack@codesourcery.com>
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.
132 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
134 (gnat_init): Always call set_internal_error_function.
136 2001-11-27 Andreas Jaeger <aj@suse.de>
138 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
140 2001-11-27 Laurent Guerby <guerby@acm.org>
142 * Makefile.in: Regenerate Ada dependencies.
144 2001-11-26 Richard Henderson <rth@redhat.com>
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.
150 2001-11-25 Laurent Guerby <guerby@acm.org>
152 * sysdep.c (rts_get_*): Fix style.
154 2001-11-19 Laurent Guerby <guerby@acm.org>
156 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
157 since it is of no apparent use and cause warnings.
159 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
161 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
163 (gnat_init): Don't return NULL.
164 (finish_parse): Remove.
166 2001-11-17 Laurent Guerby <guerby@acm.org>
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.
178 Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
180 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
182 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
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.
190 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
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.
197 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
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.
204 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
206 * misc.c: Include langhooks-def.h.
207 * Makefile.in: Update.
209 2001-10-30 Robert Dewar <dewar@gnat.com>
212 (Check_Identifier): Rewrite circuit to be compatible with use of letters
213 in the upper half of ASCII.
214 (Check_Identifier): Minor reformatting
216 2001-10-30 Geert Bosch <bosch@gnat.com>
218 * (Associated_Node, Set_Associated_Node): Do not check for
221 2001-10-30 Robert Dewar <dewar@gnat.com>
223 * a-reatim.ads: Minor reformatting
225 2001-10-30 Robert Dewar <dewar@gnat.com>
227 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
228 undocumented declarations.
230 2001-10-30 Pascal Obry <obry@gnat.com>
232 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
233 to the binder and linker.
236 * mdll.ads: Fix layout. Update copyright notice.
238 * mdll.adb: Fix layout. Update copyright notice.
240 2001-10-30 Robert Dewar <dewar@gnat.com>
242 * usage.adb: Minor fix to output for -gnaty.
244 2001-10-30 Ed Schonberg <schonber@gnat.com>
246 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
247 to accommodate all its possible values.
249 * a-reatim.adb (Split): Special-case handling of Time_Span_First
250 and of small absolute values of T.
252 2001-10-30 Richard Kenner <kenner@gnat.com>
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.
258 2001-10-30 Geert Bosch <bosch@gnat.com>
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.
263 2001-10-30 Robert Dewar <dewar@gnat.com>
265 * bindusg.adb: Undocument -f switch.
267 * gnatcmd.adb: Remove /FULL_ELABORATION.
269 * opt.ads (Force_RM_Elaboration_Order): Document that this is
272 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
274 * gnatbind.adb: Minor update of warning msg.
276 2001-10-30 Vincent Celier <celier@gnat.com>
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
283 2001-10-30 Geert Bosch <bosch@gnat.com>
285 * decl.c: Minor whitespace fixes.
287 2001-10-30 Richard Kenner <kenner@gnat.com>
289 * utils2.c (build_allocator): Test for SIZE overflow in array case too
291 2001-10-30 Geert Bosch <bosch@gnat.com>
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.
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.
302 2001-10-30 Robert Dewar <dewar@gnat.com>
304 * lib.adb: Minor reformatting
306 * s-taprop.ads: Minor reformatting
308 2001-10-29 Laurent Guerby <guerby@acm.org>
311 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
313 (_gnat_error_handler): Make MSG const.
315 2001-10-29 Richard Kenner <kenner@gnat.com>
317 * sysdep.c: Fix localtime_r problem on LynxOS.
318 Also remove #elif to avoid warnings.
320 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
323 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
325 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
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.
338 2001-10-27 Laurent Guerby <guerby@acm.org>
340 * trans.c (gigi): Fix non determinism leading to bootstrap
341 comparison failures for debugging information.
343 2001-10-26 Florian Weimer <fw@deneb.enyo.de>
345 * gnat_rm.texi: Use @./@: where appropriate.
347 2001-10-26 Robert Dewar <dewar@gnat.com>
349 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
351 2001-10-26 Richard Kenner <kenner@gnat.com>
353 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
355 2001-10-26 Richard Kenner <kenner@gnat.com>
357 * decl.c (validate_size): Modify message for bad size to avoid
358 implication that compiler is modifying the size.
360 2001-10-26 Robert Dewar <dewar@gnat.com>
362 * prj-util.adb: Minor reformatting. Fix bad header format.
364 2001-10-26 Robert Dewar <dewar@gnat.com>
366 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
368 * sinfo.ads: Clarify use of Associated_Node (documentation only).
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.
374 2001-10-26 Joel Brobecker <brobecke@gnat.com>
376 * 5zosinte.ads (null_pthread): new constant.
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.
386 (Resume_All_Tasks): Lock the tasks list before using it.
387 (Suspend_All_Tasks): ditto.
389 2001-10-26 Richard Kenner <kenner@gnat.com>
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.
395 * trans.c (process_freeze_entity, process_type):
396 Call update_pointer_to on main variant.
398 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
399 If main variant, update all other variants.
401 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
404 2001-10-26 Robert Dewar <dewar@gnat.com>
406 * prj-util.adb: Minor reformatting
408 2001-10-26 Robert Dewar <dewar@gnat.com>
410 * prj-util.adb: Minor reformatting
412 2001-10-26 Robert Dewar <dewar@gnat.com>
414 * prj-attr.adb: Minor reformatting throughout
416 2001-10-26 Robert Dewar <dewar@gnat.com>
418 * prj-attr.ads: Minor reformatting
419 Add ??? comment (this whole spec has almost no comments)
421 2001-10-26 Vincent Celier <celier@gnat.com>
423 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
424 ("//") that precede the drive letter on Interix.
426 2001-10-26 Geert Bosch <bosch@gnat.com>
428 * gnat_rm.texi: Add GNAT Reference Manual.
430 2001-10-25 Robert Dewar <dewar@gnat.com>
432 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
433 is Error. Similar change for other renaming cases.
435 2001-10-25 Robert Dewar <dewar@gnat.com>
437 * s-atacco.ads: Add pragma Inline_Always for functions.
438 Fix header format. Add copyright 2001
440 2001-10-25 Ed Schonberg <schonber@gnat.com>
442 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
443 return Error rather than Empty so that analysis can proceed.
445 2001-10-25 Ed Schonberg <schonber@gnat.com>
447 * sem_util.adb (Enter_Name): better handling of cascaded error
448 messages when a unit appears in its own context.
450 2001-10-25 Ed Schonberg <schonber@gnat.com>
452 * sem_util.adb (Defining_Entity): in case of error, attach created
453 entity to specification, so that semantic analysis can proceed.
455 2001-10-25 Robert Dewar <dewar@gnat.com>
458 (Defining_Entity): Deal with Error.
459 (Process_End_Label): Deal with bad end label for.
461 2001-10-25 Ed Schonberg <schonber@gnat.com>
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.
466 2001-10-25 Ed Schonberg <schonber@gnat.com>
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.
471 2001-10-25 Geert Bosch <bosch@gnat.com>
473 * 4gintnam.ads: fix header format.
475 2001-10-25 Ed Schonberg <schonber@gnat.com>
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.
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
485 2001-10-25 Ed Schonberg <schonber@gnat.com>
487 * sem_res.adb (Resolve): special-case resolution of Null in an
488 instance or an inlined body to avoid view conflicts.
490 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
491 compatibility by retrieving the access type of the generic copy.
493 2001-10-25 Robert Dewar <dewar@gnat.com>
496 (Analyze_Number_Declaration): Handle error expression.
497 (Signed_Integer_Type_Declaration): Handle error bound.
498 (Analyze_Subtype_Indication): Handle error range.
500 * sem_util.adb (Get_Index_Bounds): Check for Error.
502 2001-10-25 Robert Dewar <dewar@gnat.com>
504 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
507 2001-10-25 Pascal Obry <obry@gnat.com>
509 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
510 mode case for ALLOC case.
512 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
513 all platforms. Improvement of last change.
515 2001-10-25 Robert Dewar <dewar@gnat.com>
517 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
519 2001-10-25 Geert Bosch <bosch@gnat.com>
521 * osint.adb (Is_Relative): Remove duplicate.
523 2001-10-25 Pascal Obry <obry@gnat.com>
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.
529 * osint.adb: Minor reformatting
531 * osint.adb (Is_Relative): implementation using
532 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
534 2001-10-25 Pascal Obry <obry@gnat.com>
536 * g-dirope.adb (Basename): correctly compute offset between the
537 original Path and the translated one.
539 * g-dirope.adb: (Base_Name): add some comments.
541 2001-10-25 Robert Dewar <dewar@gnat.com>
543 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
544 in HIE mode, avoids compilation abandoned message
546 * exp_imgv.adb: Correct typo in previous change
548 * exp_imgv.adb: Correct typo in previous change (not my day!)
550 2001-10-25 Robert Dewar <dewar@gnat.com>
552 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
554 2001-10-25 Pascal Obry <obry@gnat.com>
556 * g-awk.ads: Move all pragma inlines next to the routine
557 declarations. This is more uniform with other GNAT spec.
559 2001-10-22 Geert Bosch <bosch@gnat.com>
561 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
563 2001-10-19 Geert Bosch <bosch@gnat.com>
565 * Makefile.in (tools, gnattools): Remove gnatmem.
567 2001-10-17 Richard Henderson <rth@redhat.com>
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.
575 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
577 * trans.c (tree_transform): Adjust to recent change in
578 expand_asm_operands to implement named asm operands.
580 2001-10-11 Ed Schonberg <schonber@gnat.com>
582 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
583 renaming of discriminant for mutable record type.
585 2001-10-11 Robert Dewar <dewar@gnat.com>
587 * validsw.adb: Properly save -gnatVn status.
589 2001-10-11 Robert Dewar <dewar@gnat.com>
591 * usage.adb: Add lines for V switch.
593 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
594 (/VALIDITY_CHECKING).
596 2001-10-11 Ed Schonberg <schonber@gnat.com>
598 * sem_type.adb (Add_One_Interp): an operator for a type declared in
599 an extension of System is known to be visible.
601 2001-10-11 Ed Schonberg <schonber@gnat.com>
603 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
604 properly. Fixes regression on ACATS C34005G.
606 2001-10-11 Robert Dewar <dewar@gnat.com>
608 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
609 loop in generic instance, since this is likely not very useful.
611 2001-10-11 Robert Dewar <dewar@gnat.com>
613 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
614 the error message for high integrity mode.
616 * rtsfind.adb (RTE): Give message if we try to find an entity that
617 is not available in high integrity mode.
620 (OK_To_Use_In_HIE_Mode): New array.
621 (RTE): May return Empty in high integrity mode.
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.
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.
630 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
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.
636 2001-10-11 Pascal Obry <obry@gnat.com>
638 * impunit.adb: Add GNAT.CRC32.
640 2001-10-11 Ed Schonberg <schonber@gnat.com>
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.
646 2001-10-11 Ed Schonberg <schonber@gnat.com>
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.
651 2001-10-11 Ed Schonberg <schonber@gnat.com>
653 * exp_ch7.adb (Make_Transient_Block): if statement is within
654 exception handler, always use new transient scope to place Clean
657 2001-10-11 Pascal Obry <obry@gnat.com>
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
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.
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.
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.
682 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
683 is what this variable will store.
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.
691 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
692 now and not anymore a simple checksum.
694 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
697 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
700 (Restore_Scan_State): rename Checksum to CRC.
701 (Save_Scan_State): idem.
705 (Checksum): rename to CRC.
706 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
708 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
709 GNAT.CRC32). Update copyright notice.
711 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
712 GNAT.CRC32). Update copyright notice.
715 (Accumulate_Checksum): removed.
716 (Update): new procedure. Add a wide-character into the CRC.
719 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
720 (Load_File): fix initialization of S (change Source_Checksum to
723 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
724 Source_CRC in S initialization.
726 * sinput.adb (Source_Checksum): renamed to Source_CRC.
728 * sinput.ads (Source_Checksum): renamed to Source_CRC.
729 Update comments for the CRC.
731 * types.adb (Hex): Use lowercase for the letter part.
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).
744 * gnatvsn.ads (Library_Version): changed to 3.15a.
746 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
749 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
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.
756 * ali-util.ads: Redo changes of previous revision to continue to use
757 the word Checksum. Add 2001 to copyright notice.
759 * ali.adb: Undo some of previous changes, not needed.
760 Keep the change for lower case letters in the checksum.
762 * ali.ads: Undo previous change not needed.
764 * bcheck.adb: Undo most of previous change, not needed.
765 But do use Checksums_Match for checksum comparison.
767 * gnatls.adb: Undo most of previous change, not needed.
768 But do use Checksums_Match for comparing checksums.
770 * lib-load.adb: Undo previous change, not needed.
772 * lib-writ.adb: Undo previous change, not needed.
774 * lib-writ.ads: Document that checksums use lower case,
775 not upper case letters.
777 * scans.adb: Undo previous change, not needed
779 * scans.ads: Undo previous change, not needed.
781 * scn-nlit.adb: Undo previous changes, not needed.
783 * scn-slit.adb: Undo previous change, not needed. Fix header format.
786 (Accumulate_Checksum): Use System.CRC32.
787 (Initialize_Checksum): New procedure.
788 Remove other changes of previous revision.
790 * sinput-p.adb: Undo previous change, not needed.
792 * sinput.adb: Undo previous change, not needed.
794 * sinput-l.adb: Undo previous change, not needed.
796 * sinput.ads: Undo previous change, not needed. Keep only comment
797 on new checksum algorithm
799 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
800 Also remove a-tags and a-stream from GNAT sources.
802 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
804 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
806 2001-10-11 Geert Bosch <bosch@gnat.com>
808 * einfo.h: Regenerate.
810 * nmake.ads: Regenerate.
812 * nmake.adb: Regenerate.
814 * sinfo.h: Regenerate.
816 * treeprs.adb: Regenerate.
818 2001-10-10 Geert Bosch <bosch@gnat.com>
820 * gnat-style.texi: New file describing coding guidelines for Ada.
822 2001-10-10 Ed Schonberg <schonber@gnat.com>
824 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
827 2001-10-10 Geert Bosch <bosch@gnat.com>
829 * snames.ads: Add new names for project facility.
831 * snames.adb: Update to reflect snames.ads changes.
833 * snames.h: Update to reflect snames.ads changes.
835 2001-10-10 Vincent Celier <celier@gnat.com>
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.
845 (Initialisation_Data): Change the names of some packages and
847 (Initialize): process case insensitive associative arrays.
850 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
853 (Parse_Attribute_Declaration): For case insensitive associative
854 arrays, set the index string to lower case.
857 Reflect the changes of the project attributes.
860 Replace Check_Naming_Scheme by Ada_Check and
861 Language_Independent_Check.
864 Replaced Check_Naming_Scheme by 2 procedures:
865 Ada_Check and Language_Independent_Check.
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.
874 (Case_Insensitive): New function
875 (Set_Case_Insensitive): New procedure
878 (Case_Insensitive): New function
879 (Set_Case_Insensitive): New procedure
880 (Project_Node_Record): New flag Case_Insensitive.
883 (Value_Of): new function to get the string value of a single
884 string variable or attribute.
887 (Value_Of): new function to get the string value of a single
888 string variable or attribute.
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.
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.
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,
913 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
916 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
917 not that it is Nil_Variable_Value.
919 * prj.ads: Add ??? for uncommented declarations
921 2001-10-10 Ed Schonberg <schonber@gnat.com>
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.
927 2001-10-10 Robert Dewar <dewar@gnat.com>
929 * sem_prag.adb: Add processing for pragma External.
931 * snames.ads: Add entry for pragma External.
933 * par-prag.adb: Add pragma External.
935 * snames.adb: Updated to match snames.ads.
937 2001-10-10 Ed Schonberg <schonber@gnat.com>
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.
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.
947 2001-10-10 Ed Schonberg <schonber@gnat.com>
949 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
952 * einfo.ads: Body_Entity is also defined for generic package.
953 Documentation change only
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.
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
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.
970 2001-10-10 Robert Dewar <dewar@gnat.com>
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
976 2001-10-10 Richard Kenner <kenner@gnat.com>
978 * decl.c: (validate_size): Do check size of object of integral type
979 if it is a packed array type.
981 2001-10-10 Richard Kenner <kenner@gnat.com>
983 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
984 VAR_DECL for constant if not Is_Public but -O0.
986 2001-10-10 Richard Kenner <kenner@gnat.com>
988 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
990 2001-10-10 Geert Bosch <bosch@gnat.com>
992 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
993 use '/' as switch character, allowing for absolute file names.
995 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
997 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
1000 2001-10-08 Geert Bosch <bosch@gnat.com>
1002 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
1003 Automatically build utilities when files need to be regenerated.
1005 2001-10-08 Geert Bosch <bosch@gnat.com>
1007 * xsnames.adb: New utility for updating snames.ads and snames.adb
1009 2001-10-08 Zack Weinberg <zack@codesourcery.com>
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;
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.
1026 (gnattools): Depend directly on tools to build, don't use
1028 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
1030 * einfo.h, sinfo.h: New files (autogenerated).
1032 2001-10-08 Richard Henderson <rth@redhat.com>
1034 * comperr.adb (Abort_In_Progress): New.
1035 (Compiler_Abort): Use it to prevent recursion.
1037 2001-10-08 Robert Dewar <dewar@gnat.com>
1039 * atree.adb: Set Error_Posted in Error node, helps error recovery.
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.
1044 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
1045 to help error recovery. Part of general work on 9407-004.
1047 * par.adb: Add ??? for misuse of error
1050 (Resolve): Defend against Error, fixes 9407-003.
1051 (Resolve_Discrete_Subtype_Indication): Defend against Error.
1053 * sinfo.ads (N_Error): Now has Etype field (which will be set
1054 to Any_Type to help error recovery).
1056 2001-10-08 Richard Kenner (kenner@gnat.com)
1058 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
1059 Consistently set MEM attributes from expression; fixes
1060 bootstrap failure on x86.
1062 2001-10-08 Geert Bosch (bosch@gnat.com)
1064 * 5oosinte.adb: Add 2001 to copyright notice.
1066 2001-10-08 Geert Bosch (bosch@gnat.com)
1068 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
1070 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
1072 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
1074 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
1076 2001-10-05 Geert Bosch (bosch@gnat.com)
1078 * adaint.h: Small formatting fix.
1080 2001-10-04 Geert Bosch <bosch@gnat.com>
1082 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
1083 Arg is int, not FILE *, in dummy version of functions.
1085 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
1086 Arg is int, not FILE *.
1088 2001-10-04 Geert Bosch <bosch@gnat.com>
1090 * 3lsoccon.ads: Added file, missed with initial check ins.
1092 * 4lintnam.ads: Fix header format.
1093 Change Linux to GNU/Linux.
1095 * 5iosinte.adb: Change Linux to GNU/Linux.
1097 * 5iosinte.ads: Change Linux to GNU/Linux.
1099 * 5itaprop.adb: Change Linux to GNU/Linux.
1101 * 5itaspri.ads: Change Linux to GNU/Linux.
1102 Update copyright notice.
1104 * 5lintman.adb: Change Linux to GNU/Linux.
1106 * 5lml-tgt.adb: Change Linux to GNU/Linux.
1108 * 5losinte.ads: Change Linux to GNU/Linux.
1110 * 5lsystem.ads: Change Linux to GNU/Linux.
1112 * 5qosinte.adb: Change Linux to GNU/Linux.
1114 * 5qosinte.ads: Change Linux to GNU/Linux.
1116 * 5qparame.ads: Change Linux to GNU/Linux.
1118 * 5qtaprop.adb: Change Linux to GNU/Linux.
1120 * 5qtaspri.ads: Change Linux to GNU/Linux.
1121 Add 2001 to copyright notice.
1123 * 5vintman.ads: Change Linux to GNU/Linux.
1124 Fix header format. Add 2001 to copyright notice.
1126 * g-soccon.ads: Change Linux to GNU/Linux.
1128 * g-trasym.ads: Change Linux to GNU/Linux.
1129 Add 2001 to copyright notice.
1131 * memtrack.adb: Change Linux to GNU/Linux.
1133 * s-intman.ads: Change Linux to GNU/Linux.
1134 Add 2001 to copyright notice. Fix header format.
1136 * s-stache.adb: Change Linux to GNU/Linux.
1138 * adaint.c: Change Linux to GNU/Linux.
1140 * cio.c: Change Linux to GNU/Linux.
1142 * cstreams.c: Change Linux to GNU/Linux.
1144 * init.c: Change Linux to GNU/Linux.
1146 * gmem.c: Change Linux to GNU/Linux.
1148 * tracebak.c: Change Linux to GNU/Linux.
1151 2001-10-02 Geert Bosch <bosch@gnat.com>
1153 * misc.c (insert_default_attributes): Add dummy version.