OSDN Git Service

gcc/ada:
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index c92ffb9..1e086f1 100644 (file)
+2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
+       (experimental)".
+
+2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * Make-lang.in (CP, ECHO): Copy from Makefile.in.
+       (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
+       (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
+       (ALL_ADA_CFLAGS): Likewise.
+       (ADA_INCLUDES): Likewise.
+       Adapt for new working dir.
+       (GNATBIND): Use Makefile.in version.
+       (.SUFFIXES): Copy from Makefile.in.
+       (ada-warn): Define.
+       (.adb.o, .ads.o): Copy from Makefile.in.
+       Added $(OUTPUT_OPTION).
+       (GNAT1_C_OBJS): Moved from Makefile.in.
+       Prefix with ada subdir.
+       (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
+       (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
+       Adapt for new working dir.
+       (EXTRA_GNATBIND_OBJS): Likewise.
+       (ADA_BACKEND): Moved from Makefile.in.
+       Renamed to avoid conflict with global BACKEND.
+       Use that one.
+       (TARGET_ADA_SRCS): Moved from Makefile.in.
+       (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
+       Use ADA_BACKEND.
+       (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
+       (ada_extra_files): Moved from Makefile.in.
+       Prefix with ada subdir.
+       (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
+       (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
+       (ada/nmake.ads): Likewise.
+       (update-sources): Moved from Makefile.in.
+       Prefix with ada subdir.
+       (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
+       (ADA_TREE_H): Likewise.
+       (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
+       (ada/memtrack.o): Likewise.
+       (ada/adadecode.o): Likewise.
+       Update dependencies.
+       (ada/adaint.o): New.
+       (ada/argv.o): Moved from Makefile.in.
+       Prefix with ada subdir.
+       Update dependencies.    
+       (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
+       (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
+       (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
+       Prefix with ada subdir.
+       (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
+       (GNAT DEPENDENCIES): Regenerate.
+       * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
+       toplevel Makefile.in.
+       (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
+       (TARGET_ADA_SRCS): Removed.
+       (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
+       (GNATBIND_OBJS): Likewise.
+       (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
+       (BACKEND): Removed.
+       (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
+       (TREE_H): Likewise.
+       (ada_extra_files): Likewise.
+       (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
+       (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
+       (update-sources): Likewise.
+       (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
+       (ADA_TREE_H): Likewise.
+       (adadecoce.o): Likewise.
+       (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
+       (GNAT DEPENDENCIES): Likewise.
+
+2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
+       * Makefile.in: Likewise.
+
+2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
+       Restore $(CONFIG_H) and prefix.o dependencies.
+       (ada.stage[1-4]): Depend on stage?-start.
+
+       * Makefile.in (b_gnatb.c): Depend on interfac.o.
+
+2002-05-02  Jim Wilson  <wilson@redhat.com>
+
+       * utils.c (finish_record_type): Change record_size to record_type.
+
+2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
+       (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
+       ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
+2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (gnat_parse_file): Update.
+
+2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (gnat_init): Don't set lang_attribute_common.
+
+2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
+
+2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
+
+        * gnat_ug.texi: New file.
+
+       * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
+       instead of gfdl.texi
+
+       * xgnatug.adb, ug_words: New files.
+
+       * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
+        gnat_rm and gnat-style manuals.
+
+2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * gigi.h (incomplete_type_error): Remove.
+       * utils.c (incomplete_type_error): Remove.
+
+2002-04-16  Mark Mitchell  <mark@codesourcery.com>
+
+       * trans.c (tree_transform): Add has_scope argument to
+       expand_start_stmt_expr.
+
+2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * gigi.h (truthvalue_conversion): Rename.
+       * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
+       * trans.c (tree_transform): Update.
+       * utils2.c (truthvalue_conversion): Rename, update.
+       (build_binary_op, build_unary_op): Update.
+
+2002-04-04  Laurent Guerby  <guerby@acm.org>
+
+       * make.adb: Implement -margs, remove restriction about file name placement.
+       * makeusg.adb: Documentation update.
+       * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
+       * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
+
+2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
+       (builtin_function): Similarly.
+
+2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * decl.c (gnat_to_gnu_entity): Update.
+       * gigi.h (mark_addressable): Rename.
+       * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
+       * trans.c (tree_transform): Update.
+       * utils.c (create_var_decl): Update.
+       * util2.c (build_binary_op, build_unary_op,
+       fill_vms_descriptor): Update.
+       (mark_addressable): Rename, update.
+
+2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
+       Rename.
+       * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
+       LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
+       * trans.c (tree_transform, convert_with_check): Update.
+       * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
+       Rename.
+
+2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * gigi.h (finish_incomplete_decl): Rename.
+       * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
+       * utils.c (gnat_init_decl_processing): Don't set hook.
+       (finish_incomplete_decl): Rename.
+
+2002-03-29  Andreas Schwab  <schwab@suse.de>
+
+       * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
+       directory.
+
+2001-03-28  Robert Dewar <dewar@gnat.com>
+
+       * checks.ads:
+       (Remove_Checks): New procedure
+
+       * checks.adb:
+       (Remove_Checks): New procedure
+
+       * exp_util.adb:
+       Use new Duplicate_Subexpr functions
+       (Duplicate_Subexpr_No_Checks): New procedure
+       (Duplicate_Subexpr_No_Checks_Orig): New procedure
+       (Duplicate_Subexpr): Restore original form (checks duplicated)
+       (Duplicate_Subexpr): Call Remove_Checks
+
+       * exp_util.ads:
+       (Duplicate_Subexpr_No_Checks): New procedure
+       (Duplicate_Subexpr_No_Checks_Orig): New procedure
+       Add 2002 to copyright notice
+
+       * sem_util.adb: Use new Duplicate_Subexpr functions
+
+       * sem_eval.adb:
+       (Eval_Indexed_Component): This is the place to call
+       Constant_Array_Ref and to replace the value. We simply merge
+       the code of this function in here, since it is now no longer
+       used elsewhere. This fixes the problem of the back end not
+       realizing we were clever enough to see that this was
+       constant.
+       (Expr_Val): Remove call to Constant_Array_Ref
+       (Expr_Rep_Val): Remove call to Constant_Array_Ref
+       Minor reformatting
+       (Constant_Array_Ref): Deal with string literals (patch
+       suggested by Zack Weinberg on the gcc list)
+
+2001-03-28  Ed Schonberg <schonber@gnat.com>
+
+       * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
+       Duplicate_Subexpr_Move_Checks.
+
+       * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
+       Duplicate_Subexpr_Move_Checks.
+
+       * sem_eval.adb: (Constant_Array_Ref): Verify that constant
+       value of array exists before retrieving it (it may a private
+       protected component in a function).
+
+2002-03-28   Geert Bosch <bosch@gnat.com>
+
+       * prj-pp.adb : New file.
+
+       * prj-pp.ads : New file.
+
+2002-03-28  Andreas Jaeger  <aj@suse.de>
+
+       * Makefile.in (stamp-sdefault): Fix path for Makefile.
+
+2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (gnat_expand_expr): Move prototype.
+
+2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (insert_default_attributes): Remove.
+
+2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
+       (gnat_init): Don't set hook.
+       (gnat_expand_expr): Fix prototype.
+
+2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (ggc_p): Remove.
+
+2002-03-27  Geert Bosch  <bosch@gnat.com>
+
+       * prj-makr.ads, prj-makr.adb : New files.
+
+2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
+       (lang_mark_tree): Make static, rename.
+
+2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (maybe_build_cleanup): Remove.
+
+2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * gigi.h (yyparse): Remove.
+
+2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
+
+       * gnat_rm.texi: Sync with ACT version.
+          (From Ben Brosgol <brosgol@gnat.com>)
+
+2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
+       (gnat_init): Remove old hook.
+
+2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
+       (yyparse): Rename gnat_parse_file.
+
+2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
+
+       Delete all lines containing "$Revision:".
+       * xeinfo.adb: Don't look for revision numbers.
+       * xnmake.adb: Likewise.
+       * xsinfo.adb: Likewise.
+       * xsnames.adb: Likewise.
+       * xtreeprs.adb: Likewise.
+
+2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * misc.c (gnat_tree_code_type, gnat_tree_code_length,
+       gnat_tree_code_name): Delete.
+       (tree_code_type, tree_code_length, tree_code_name): Define.
+       (gnat_init): Don't try to copy into the various tree_code
+       arrays.
+
+2002-03-11  Richard Henderson  <rth@redhat.com>
+
+       * Makefile.in (.NOTPARALLEL): Add fake tag.
+
+2002-03-07  Geert Bosch  <bosch@gnat.com>
+
+       * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
+       s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
+       switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
+       switch-m.adb, switch-m.ads : New files.
+
+2002-03-07  Geert Bosch  <bosch@gnat.com>
+
+       * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
+       4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
+       4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
+       4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
+       5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
+       5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
+       5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
+       5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
+       5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
+       5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
+       5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
+       5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
+       5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
+       5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
+       5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
+       5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
+       5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
+       5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
+       5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
+       5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
+       7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
+       Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
+       a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
+       a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
+       a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
+       a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
+       a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
+       a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
+       a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
+       adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
+       atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
+       bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
+       csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
+       einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
+       eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
+       exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
+       exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
+       exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
+       exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
+       exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
+       expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
+       freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
+       g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
+       g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
+       g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
+       g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
+       g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
+       g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
+       gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
+       gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
+       gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
+       i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
+       impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
+       lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
+       lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
+       memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
+       mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
+       nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
+       output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
+       par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
+       prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
+       prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
+       prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
+       rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
+       s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
+       s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
+       s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
+       s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
+       s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
+       s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
+       s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
+       s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
+       s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
+       s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
+       s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
+       s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
+       s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
+       s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
+       s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
+       sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
+       sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
+       sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
+       sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
+       sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
+       sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
+       sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
+       sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
+       sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
+       sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
+       snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
+       stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
+       table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
+       tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
+       treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
+       types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
+       utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
+       xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
+
+       * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
+       g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
+       mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
+       osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
+
+       * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
+       5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
+
+       * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
+       to mdll-fil.ad[bs] and mdll-util.ad[bs]
+
+       * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
+       from mdllfile.ad[bs] and mdlltool.ad[bs]
+
+2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
+       lieu of explicit sizeof/sizeof.
+
+2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * misc.c (copy_lang_decl): Remove.
+
+2002-02-27  Zack Weinberg  <zack@codesourcery.com>
+
+       * misc.c: Delete traditional-mode-related code copied from the
+       C front end but not used, or used only to permit the compiler
+       to link.
+
+2002-02-07  Richard Henderson  <rth@redhat.com>
+
+       * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
+       * adaint.h (__gnat_to_gm_time): Update prototype.
+
+2002-01-30  Richard Henderson  <rth@redhat.com>
+
+       * trans.c (tree_transform) [N_Loop_Statement]: Use
+       expand_exit_loop_top_cond.
+
+2001-12-23  Richard Henderson  <rth@redhat.com>
+
+       * utils.c (end_subprog_body): Push GC context around
+       rest_of_compilation for nested functions.
+
+2001-12-23  Richard Henderson  <rth@redhat.com>
+
+       * 5nosinte.ads: Get definition of "int" from Interfaces.C.
+
+2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
+
+       * gnat-style.texi (Declarations and Types): Remove ancient style
+       rule which was mandated by code generation issues.
+
+       * gnat-style.texi (header): Add @dircategory, @direntry.
+       (title page): Remove date.
+       (general) Add @./@: where approriate, and two spaces after the
+       full stop at the end of a sentence.  Use @samp markup when
+       referring concrete lexical entities (keywords, attribute names
+       etc.), and @syntax for ARM grammar elements. Use @r for English
+       text in comments.  Use @emph for emphasis.  Change "if-statements"
+       etc. to "if statements" (without @samp). Break long lines.  Make
+       casing of section names consistent.
+       (Identifiers): Use @samp markup for variable names.
+       (Comments): Use @samp markup for comment characters. Line-end
+       comments may follow any Ada code, not just statements.  Fix
+       misspelling of "Integer" as "integer".
+       (Loop statements): Do not use variable name "I", use "J".
+       (Subprogram Declarations): Document alignment.
+       (Subprogram Bodies, Block statements): Document empty line before
+       "begin".
+
+2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
+
+       * make.adb (Add_Switch): Make Generic_Position a procedure.  The
+       function approach did not work well because of a side effect (the
+       function call could reallocate the table which was being indexed
+       using its result). Fixes ada/4851.
+
+2001-12-19  Robert Dewar <dewar@gnat.com>
+
+       * bindgen.adb: Minor reformatting
+
+       * cstand.adb: Minor reformatting
+
+       * fmap.adb: Minor reformatting
+       Change name from Add for Add_To_File_Map (Add is much too generic)
+       Change Path_Name_Of to Mapped_Path_Name
+       Change File_Name_Of to Mapped_File_Name
+       Fix copyright dates in header
+
+       * fmap.ads:
+       Change name from Add for Add_To_File_Map (Add is much too generic)
+       Change Path_Name_Of to Mapped_Path_Name
+       Change File_Name_Of to Mapped_File_Name
+       Fix copyright dates in header
+
+       * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
+       Add use clause for Fmap.
+
+       * make.adb: Minor reformatting
+
+       * osint.adb: Minor reformatting.  Change of names in Fmap.
+       Add use clause for Fmap.
+
+       * prj-env.adb: Minor reformatting
+
+       * prj-env.ads: Minor reformatting
+
+       * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
+       error found (there were odd exceptions to this general rule in
+       -gnatec/-gnatem processing)
+
+2001-12-19  Olivier Hainque <hainque@gnat.com>
+
+       * raise.c (__gnat_eh_personality): Exception handling personality
+       routine for Ada.  Still in rough state, inspired from the C++ version
+       and still containing a bunch of debugging artifacts.
+       (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
+       inspired from the C++ library.
+
+       * raise.c (eh_personality): Add comments. Part of work for the GCC 3
+       exception handling integration.
+
+2001-12-19  Arnaud Charlet <charlet@gnat.com>
+
+       * Makefile.in: Remove use of 5smastop.adb which is obsolete.
+       (HIE_SOURCES): Add s-secsta.ad{s,b}.
+       (HIE_OBJS): Add s-fat*.o
+       (RAVEN_SOURCES): Remove files that are no longer required. Add
+       interrupt handling files.
+       (RAVEN_MOD): Removed, no longer needed.
+
+2001-12-19  Robert Dewar <dewar@gnat.com>
+
+       * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
+       Add 2001 to copyright date
+
+       * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
+       need to force universal inlining for these cases.
+
+2001-12-19  Arnaud Charlet <charlet@gnat.com>
+
+       * s-taprob.adb: Minor clean ups so that this unit can be used in
+       Ravenscar HI.
+
+       * exp_ch7.adb: Allow use of secondary stack in HI mode.
+       Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
+
+2001-12-19  Vincent Celier <celier@gnat.com>
+
+       * prj-tree.ads (Project_Node_Record): Add comments for components
+       Pkg_Id and Case_Insensitive.
+
+2001-12-19  Pascal Obry <obry@gnat.com>
+
+       * g-socket.adb: Minor reformatting. Found while reading code.
+
+2001-12-19  Robert Dewar <dewar@gnat.com>
+
+       * prj-tree.ads: Minor reformatting
+
+2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * config-lang.in (diff_excludes): Remove.
+
+2001-12-17  Ed Schonberg <schonber@gnat.com>
+
+       * sem_res.adb (Resolve_Selected_Component): do not generate a
+       discriminant check if the selected component is a component of
+       the argument of an initialization procedure.
+
+       * trans.c (tree_transform, case of arithmetic operators): If result
+       type is private, the gnu_type is the base type of the full view,
+       given that the full view itself may be a subtype.
+
+2001-12-17  Robert Dewar <dewar@gnat.com>
+
+       * sem_res.adb: Minor reformatting
+
+       * trans.c (tree_transform, case N_Real_Literal): Add missing third
+       parameter in call to Machine (unknown horrible effects from this
+       omission).
+
+       * urealp.h: Add definition of Round_Even for call to Machine
+       Add third parameter for Machine
+
+2001-12-17  Ed Schonberg <schonber@gnat.com>
+
+       * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
+       predefined units in No_Run_Time mode.
+
+2001-12-17  Richard Kenner <kenner@gnat.com>
+
+       * misc.c (insn-codes.h): Now include.
+
+2001-12-17  Olivier Hainque <hainque@gnat.com>
+
+       * a-except.adb: Preparation work for future integration of the GCC 3
+       exception handling mechanism
+       (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
+       to factorize previous code sequences and make them externally callable,
+       e.g. for the Ada personality routine when the GCC 3 mechanism is used.
+       (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
+       Use the new notification routines.
+
+2001-12-17  Emmanuel Briot <briot@gnat.com>
+
+       * prj-tree.ads (First_Choice_Of): Document the when others case
+
+2001-12-17  Arnaud Charlet <charlet@gnat.com>
+
+       * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
+       HI-E mode, in order to support Ravenscar profile properly.
+
+       * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
+       mode on 32 bits targets.
+
+2001-12-17  Vincent Celier <celier@gnat.com>
+
+       * fmap.adb: Initial version.
+
+       * fmap.ads: Initial version.
+
+       * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
+       If search is successfully done, add to mapping.
+
+       * frontend.adb: Initialize the mapping if a -gnatem switch was used.
+
+       * make.adb:
+       (Gnatmake): Add new local variable Mapping_File_Name.
+        Create mapping file when using project file(s).
+        Delete mapping file before exiting.
+
+       * opt.ads (Mapping_File_Name): New variable
+
+       * osint.adb (Find_File): Use path name found in mapping, if any.
+
+       * prj-env.adb (Create_Mapping_File): New procedure
+
+       * prj-env.ads (Create_Mapping_File): New procedure.
+
+       * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
+       (Mapping_File)
+
+       * usage.adb: Add entry for new switch -gnatem.
+
+       * Makefile.in: Add dependencies for fmap.o.
+
+2001-12-17  Ed Schonberg <schonber@gnat.com>
+
+       * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
+       is a package instantiation rewritten as a package body.
+       (Install_Withed_Unit): Undo previous change, now redundant.
+
+2001-12-17  Gary Dismukes <dismukes@gnat.com>
+
+       * layout.adb:
+       (Compute_Length): Move conversion to Unsigned to callers.
+       (Get_Max_Size): Convert Len expression to Unsigned after calls to
+       Compute_Length and Determine_Range.
+       (Layout_Array_Type): Convert Len expression to Unsigned after calls to
+       Compute_Length and Determine_Range.
+       Above changes fix problem with length computation for supernull arrays
+       where Max (Len, 0) wasn't getting applied due to the Unsigned
+       conversion used by Compute_Length.
+
+2001-12-17  Arnaud Charlet <charlet@gnat.com>
+
+       * rtsfind.ads:
+       (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
+        System.Secondary_Stack.
+       (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
+        in HI-E mode.
+       Remove unused entity RE_Exception_Data.
+
+       * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
+
+       * rident.ads (No_Secondary_Stack): New restriction.
+
+2001-12-17  Joel Brobecker <brobecke@gnat.com>
+
+       * gnat_rm.texi: Fix minor typos. Found while reading the section
+       regarding "Bit_Order Clauses" that was sent to a customer.
+       Very interesting documentation!
+
+2001-12-17  Robert Dewar <dewar@gnat.com>
+
+       * sem_case.adb (Choice_Image): Avoid creating improper character
+       literal names by using the routine Set_Character_Literal_Name. This
+       fixes bombs in certain error message cases.
+
+2001-12-17  Arnaud Charlet <charlet@gnat.com>
+
+       * a-reatim.adb: Minor reformatting.
+
+2001-12-17  Ed Schonberg <schonber@gnat.com>
+
+       * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
+       case where the formal is an extension of another formal in the current
+       unit or in a parent generic unit.
+
+2001-12-17  Arnaud Charlet <charlet@gnat.com>
+
+       * s-tposen.adb: Update comments.  Minor reformatting.
+       Minor code clean up.
+
+       * s-tarest.adb: Update comments.  Minor code reorganization.
+
+2001-12-17  Gary Dismukes <dismukes@gnat.com>
+
+       * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
+       when Java_VM.
+
+2001-12-17  Robert Dewar <dewar@gnat.com>
+
+       * exp_attr.adb: Minor reformatting
+
+2001-12-17  Ed Schonberg <schonber@gnat.com>
+
+       * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
+       derivations nested within a child unit: verify that the parent
+       type is declared in an outer scope.
+
+2001-12-17  Robert Dewar <dewar@gnat.com>
+
+       * sem_ch12.adb: Minor reformatting
+
+2001-12-17  Ed Schonberg <schonber@gnat.com>
+
+       * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
+       warning if current unit is a predefined one, from which bodies may
+       have been deleted.
+
+2001-12-17  Robert Dewar <dewar@gnat.com>
+
+       * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
+       Fix header format. Add 2001 to copyright date.
+
+       * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
+       which caused CE during compilation if checks were enabled.
+
+2001-12-17  Vincent Celier <celier@gnat.com>
+
+       * make.adb:
+       (Switches_Of): New function
+       (Test_If_Relative_Path): New procedure
+       (Add_Switches): Use new function Switches_Of
+       (Collect_Arguments_And_Compile): Use new function Switches_Of.
+       When using a project file, test if there are any relative
+       search path. Fail if there are any.
+       (Gnatmake): Only add switches for the primary directory when not using
+       a project file. When using a project file, change directory to the
+       object directory of the main project file. When using a project file,
+       test if there are any relative search path. Fail if there are any.
+       When using a project file, fail if specified executable is relative
+       path with directory information, and prepend executable, if not
+       specified as an absolute path, with the exec directory.  Make sure
+       that only one -o switch is transmitted to the linker.
+
+       * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
+
+       * prj-nmsc.adb:
+       (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
+       when using a non standard naming scheme.
+       (Check_Ada_Naming_Scheme): Make sure that error messages
+       do not raise exceptions.
+       (Is_Illegal_Append): Return True if there is no dot in the suffix.
+       (Language_Independent_Check): Check the exec directory.
+
+       * prj.adb (Project_Empty): Add new component Exec_Directory
+
+       * prj.ads:
+       (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
+       (Project_Data): Add component Exec_Directory
+
+       * snames.adb: Updated to match snames.ads revision 1.215
+
+       * snames.ads: Added Exec_Dir
+
+2001-12-17  Robert Dewar <dewar@gnat.com>
+
+       * make.adb: Minor reformatting
+
+       * prj-nmsc.adb: Minor reformatting
+
+       * snames.adb: Updated to match snames.ads
+
+       * snames.ads: Alphebetize entries for project file
+
+2001-12-17  Ed Schonberg <schonber@gnat.com>
+
+       * trans.c (process_freeze_entity): Do nothing if the entity is a
+       subprogram that was already elaborated.
+
+2001-12-17  Richard Kenner <kenner@gnat.com>
+
+       * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
+       and Esize if object is referenced via pointer.
+
+2001-12-17  Ed Schonberg <schonber@gnat.com>
+
+       * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
+       is discrete before analyzing choices.
+
+2001-12-17  Joel Brobecker <brobecke@gnat.com>
+
+       * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
+       containing the name of the Ada Main Program. This string is mainly
+       intended for the debugger.
+       (Gen_Output_File_C): Do the equivalent change when generating a C file.
+
+2001-12-17  Robert Dewar <dewar@gnat.com>
+
+       * ali.adb: Set new Dummy_Entry field in dependency entry
+
+       * ali.ads: Add Dummy_Entry field to source dependency table
+
+       * bcheck.adb (Check_Consistency): Ignore dummy D lines
+
+       * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
+
+       * lib-writ.ads: Document dummy D lines for missing files.
+
+       * types.ads: (Dummy_Time_Stamp): New value for non-existant files
+
+2001-12-17  Robert Dewar <dewar@gnat.com>
+
+       * ali.adb: Type reference does not reset current file.
+
+       * ali.adb: Recognize and scan renaming reference
+
+       * ali.ads: Add spec for storing renaming references.
+
+       * lib-xref.ads: Add documentation for handling of renaming references
+
+       * lib-xref.adb: Implement output of renaming reference.
+
+       * checks.adb:
+       (Determine_Range): Document local variables
+       (Determine_Range): Make sure Hbound is initialized. It looks as though
+        there could be a real problem here with an uninitialized reference
+        to Hbound, but no actual example of failure has been found.
+
+2001-12-17  Laurent Pautet <pautet@gnat.com>
+
+       * g-socket.ads:
+       Fix comment of Shutdown_Socket and Close_Socket. These functions
+       should not fail silently because if they are called twice, this
+       probably means that there is a race condition in the user program.
+       Anyway, this behaviour is consistent with the rest of this unit.
+       When an error occurs, an exception is raised with the error message
+       as exception message.
+
+2001-12-17  Robert Dewar <dewar@gnat.com>
+
+       * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
+       that it happens before modification of Sloc values for -gnatD.
+
+       * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
+       so that it happens before modification of Sloc values for -gnatD.
+
+       * switch.adb: Minor reformatting
+
+2001-12-15  Richard Henderson  <rth@redhat.com>
+
+       * sem_ch7.adb: Wrap comment.
+
+2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
+       5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
+       5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
+       5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
+       5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
+       7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
+       a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
+       a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
+       cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
+       exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
+       exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
+       g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
+       gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
+       make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
+       par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
+       repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
+       s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
+       s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
+       s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
+       s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
+       sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
+       sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
+       sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
+       sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
+       spelling errors.
+
+2001-12-14  Vincent Celier <celier@gnat.com>
+
+       * osint.adb(Create_Debug_File): When an object file is specified,
+       put the .dg file in the same directory as the object file.
+
+2001-12-14  Robert Dewar <dewar@gnat.com>
+
+       * osint.adb: Minor reformatting
+
+       * lib-xref.adb (Output_Instantiation): New procedure to generate
+       instantiation references.
+
+       * lib-xref.ads: Add documentation of handling of generic references.
+
+       * ali.adb (Read_Instantiation_Ref): New procedure to read
+       instantiation references
+
+       * ali.ads: Add spec for storing instantiation references
+
+       * bindusg.adb: Minor reformatting
+
+       * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+       * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+       * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+       * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+       * csets.ads:
+       Fix header format
+       Add 2001 to copyright date
+       Add entry for Latin-5 (Cyrillic ISO-8859-5)
+
+2001-12-14  Matt Gingell <gingell@gnat.com>
+
+       * adaint.c: mktemp is a macro on Lynx and can not be used as an
+       expression.
+
+2001-12-14  Richard Kenner <kenner@gnat.com>
+
+       * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
+       if operand is CONSTRUCTOR.
+
+2001-12-14  Ed Schonberg <schonber@gnat.com>
+
+       * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
+       before emiting check on right-hand side, so that exception information
+       is correct.
+
+2001-12-14  Richard Kenner <kenner@gnat.com>
+
+       * utils.c (create_var_decl): Throw away initializing expression
+       if just annotating types and non-constant.
+
+2001-12-14  Vincent Celier <celier@gnat.com>
+
+       * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
+       Default_Ada_...
+
+       * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
+       Remove functions.
+       (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
+
+       * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
+       Remove functions.
+       (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
+
+2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * ChangeLog: Remove piece of diff output.
+
+2001-12-14  Geert Bosch <bosch@gnat.com>
+
+       * config-lang.in: Update copyright notice
+
+       * layout.adb: Remove commented out code.
+
+       * mdllfile.ads: Update copyright notice. Fix header format.
+
+       * sem_case.ads: Likewise.
+
+       * sem_ch3.adb: Minor reformatting.
+
+2001-12-12  Geert Bosch <bosch@gnat.com>
+
+       * freeze.ads: Update copyright date.
+
+       * g-comlin.ads: Minor reformatting.
+
+       * gnat-style.texi: Fix typo.
+
+2001-12-12  Geert Bosch <bosch@gnat.com>
+
+       *  einfo.h: Regenerate.
+
+2001-12-12  Ed Schonberg <schonber@gnat.com>
+
+       * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
+       on known node types, rather than untyped fields. Further cleanups.
+
+2001-12-12  Robert Dewar <dewar@gnat.com>
+
+       * sem_ch12.adb:
+       (Save_Entity_Descendant): Minor comment update.
+       (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
+        of an N_Attribute_Reference node. As per note below, this does not
+       eliminate need for Associated_Node in attribute ref nodes.
+       (Associated_Node): Documentation explicitly mentions attribute
+       reference nodes, since this field is used in such nodes.
+
+       * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
+
 2001-12-12  Robert Dewar <dewar@gnat.com>
 
        * s-stalib.adb: Add more comments on with statements being needed
-       
+
        * par-ch12.adb: Minor reformatting
-       
+
        * prj-dect.ads: Fix copyright header
-       
-       * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both 
+
+       * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
        inputs fit in 32 bits, but the result still overflows.
-       
+
        * s-fatgen.ads: Minor comment improvement
-       
+
 2001-12-12  Ed Schonberg <schonber@gnat.com>
 
-       * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a 
-       formal derived type, look for an inherited component from the full 
+       * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
+       formal derived type, look for an inherited component from the full
        view of the parent, if any.
-       
+
 2001-12-12  Robert Dewar <dewar@gnat.com>
 
        * checks.ads (Apply_Alignment_Check): New procedure.
-       
-       * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to 
-       ensure that the alignment of objects with address clauses is 
+
+       * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
+       ensure that the alignment of objects with address clauses is
        appropriate, and raise PE if not.
 
-       * exp_util.ads (Must_Be_Aligned): Removed, replaced by 
+       * exp_util.ads (Must_Be_Aligned): Removed, replaced by
        Exp_Pakd.Known_Aligned_Enough
-       
+
        * mdllfile.ads: Minor reformatting
 
        * mlib-fil.ads: Minor reformatting
-       
+
 2001-12-12  Ed Schonberg <schonber@gnat.com>
 
-       * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous 
-       fix to any component reference if enclosing record has non-standard 
+       * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
+       fix to any component reference if enclosing record has non-standard
        representation.
-       
+
 2001-12-12  Vincent Celier <celier@gnat.com>
 
-       * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package 
+       * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
        Iteration
-       
+
 2001-12-12  Ed Schonberg <schonber@gnat.com>
 
-       * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in 
+       * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
        sem_attr.
-       
+
 2001-12-12  Robert Dewar <dewar@gnat.com>
 
        * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
-       
+
 2001-12-12  Emmanuel Briot <briot@gnat.com>
 
        * g-regexp.adb: Remove all debug code, since it isn't required anymore,
        and it adds dependencies to system.io.
-       
+
 2001-12-12  Pascal Obry <obry@gnat.com>
 
-       * g-dirope.adb (Expand_Path.Var): Correctly detect end of 
+       * g-dirope.adb (Expand_Path.Var): Correctly detect end of
        variable name.
 
-*** s-stalib.adb       2001/09/03 15:24:33     1.17
---- s-stalib.adb       2001/10/16 13:14:46     1.18
-***************
-*** 46,59 ****
-  --  elaboration circularities with Ada.Exceptions if polling is on.
-  
-  with System.Soft_Links;
-! --  Referenced directly from generated code
-! --  Also referenced from exception handling routines.
-  --  This is needed for programs that don't use exceptions explicitely but
-  --  direct calls to Ada.Exceptions are generated by gigi (for example,
-  --  by calling __gnat_raise_constraint_error directly).
-  
-  with System.Memory;
-! --  Referenced directly from generated code
-  
-  package body System.Standard_Library is
-  
---- 46,62 ----
-  --  elaboration circularities with Ada.Exceptions if polling is on.
-  
-  with System.Soft_Links;
-! --  Referenced directly from generated code using external symbols so it
-! --  must always be present in a build, even if no unit has a direct with
-! --  of this unit. Also referenced from exception handling routines.
-  --  This is needed for programs that don't use exceptions explicitely but
-  --  direct calls to Ada.Exceptions are generated by gigi (for example,
-  --  by calling __gnat_raise_constraint_error directly).
-  
-  with System.Memory;
-! --  Referenced directly from generated code using external symbols, so it
-! --  must always be present in a build, even if no unit has a direct with
-! --  of this unit.
-  
-  package body System.Standard_Library is
-  
-
-*** par-ch12.adb       2001/10/19 15:22:18     1.48
---- par-ch12.adb       2001/10/19 15:24:48     1.49
-***************
-*** 452,466 ****
-        if Def_Node /= Error then
-           Set_Formal_Type_Definition (Decl_Node, Def_Node);
-           TF_Semicolon;
-        else
-           Decl_Node := Error;
-  
-           if Token = Tok_Semicolon then
--             --   Avoid further cascaded errors.
-              Scan;
-           end if;
-        end if;
-- 
-  
-        return Decl_Node;
-     end P_Formal_Type_Declaration;
---- 452,467 ----
-        if Def_Node /= Error then
-           Set_Formal_Type_Definition (Decl_Node, Def_Node);
-           TF_Semicolon;
-+ 
-        else
-           Decl_Node := Error;
-  
-+          --  If we have semicolon, skip it to avoid cascaded errors
-+ 
-           if Token = Tok_Semicolon then
-              Scan;
-           end if;
-        end if;
-  
-        return Decl_Node;
-     end P_Formal_Type_Declaration;
-
-*** prj-dect.ads       2001/10/20 10:28:13     1.4
---- prj-dect.ads       2001/10/20 11:43:56     1.5
-***************
-*** 8,14 ****
-  --                                                                          --
-  --                            $Revision$
-  --                                                                          --
-! --          Copyright (C) 2000-2001 Free Software Foundation, Inc.          --
-  --                                                                          --
-  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
-  -- terms of the  GNU General Public License as published  by the Free Soft- --
---- 8,14 ----
-  --                                                                          --
-  --                            $Revision$
-  --                                                                          --
-! --             Copyright (C) 2001 Free Software Foundation, Inc.            --
-  --                                                                          --
-  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
-  -- terms of the  GNU General Public License as published  by the Free Soft- --
-
-*** s-arit64.adb       2001/02/09 15:10:29     1.16
---- s-arit64.adb       2001/10/20 14:50:39     1.17
-***************
-*** 325,337 ****
-              T2 := Xhi * Ylo;
-           end if;
-  
-!       else
-!          if Yhi /= 0 then
-!             T2 := Xlo * Yhi;
-!          else
-!             return X * Y;
-!          end if;
-        end if;
-  
-        T1 := Xlo * Ylo;
-        T2 := T2 + Hi (T1);
---- 325,339 ----
-              T2 := Xhi * Ylo;
-           end if;
-  
-!       elsif Yhi /= 0 then
-!          T2 := Xlo * Yhi;
-! 
-!       else -- Yhi = Xhi = 0
-!          T2 := 0;
-        end if;
-+ 
-+       --  Here we have T2 set to the contribution to the upper half
-+       --  of the result from the upper halves of the input values.
-  
-        T1 := Xlo * Ylo;
-        T2 := T2 + Hi (T1);
-
-*** s-fatgen.ads       2001/07/20 00:59:34     1.9
---- s-fatgen.ads       2001/10/20 18:37:39     1.10
-***************
-*** 89,97 ****
-  
-     function Unbiased_Rounding (X : T)                       return T;
-  
-!    function Valid             (X : access T)                return Boolean;
-!    --  The argument must be passed by reference here, as T may be
-!    --  an abnormal value that can be passed in a floating point register.
-  
-  private
-     pragma Inline (Machine);
---- 89,100 ----
-  
-     function Unbiased_Rounding (X : T)                       return T;
-  
-!    function Valid (X : access T) return Boolean;
-!    --  This function checks if the object of type T referenced by X
-!    --  is valid, and returns True/False accordingly. The parameter is
-!    --  passed by reference (access) here, as the object of type T may
-!    --  be an abnormal value that cannot be passed in a floating-point
-!    --  register, and the whole point of 'Valid is to prevent exceptions.
-  
-  private
-     pragma Inline (Machine);
-
-*** sem_ch4.adb        2001/09/24 22:32:31     1.511
---- sem_ch4.adb        2001/10/21 17:41:52     1.512
-***************
-*** 2691,2696 ****
---- 2691,2708 ----
-  
-              Check_Misspelled_Selector (Entity_List, Sel);
-  
-+          elsif Is_Generic_Type (Prefix_Type)
-+            and then Ekind (Prefix_Type) = E_Record_Type_With_Private
-+            and then Is_Record_Type (Etype (Prefix_Type))
-+          then
-+             --  If this is a derived formal type, the parent may have a
-+             --  different visibility at this point. Try for an inherited
-+             --  component before reporting an error.
-+ 
-+             Set_Etype (Prefix (N), Etype (Prefix_Type));
-+             Analyze_Selected_Component (N);
-+             return;
-+ 
-           else
-              if Ekind (Prefix_Type) = E_Record_Subtype then
-  
-
-*** checks.ads 2001/07/16 01:26:04     1.55
---- checks.ads 2001/10/28 15:13:02     1.56
-***************
-*** 83,88 ****
---- 83,95 ----
-     --  the object denoted by the access parameter is not deeper than the
-     --  level of the type Typ. Program_Error is raised if the check fails.
-  
-+    procedure Apply_Alignment_Check (E : Entity_Id; N : Node_Id);
-+    --  E is the entity for an object. If there is an address clause for
-+    --  this entity, and checks are enabled, then this procedure generates
-+    --  a check that the specified address has an alignment consistent with
-+    --  the alignment of the object, raising PE if this is not the case. The
-+    --  resulting check (if one is generated) is inserted before node N.
-+ 
-     procedure Apply_Array_Size_Check (N : Node_Id; Typ : Entity_Id);
-     --  N is the node for an object declaration that declares an object of
-     --  array type Typ. This routine generates, if necessary, a check that
-
-*** exp_ch13.adb       2001/07/16 21:21:29     1.76
---- exp_ch13.adb       2001/10/28 15:13:25     1.77
-***************
-*** 27,32 ****
---- 27,33 ----
-  ------------------------------------------------------------------------------
-  
-  with Atree;    use Atree;
-+ with Checks;   use Checks;
-  with Einfo;    use Einfo;
-  with Exp_Ch3;  use Exp_Ch3;
-  with Exp_Ch6;  use Exp_Ch6;
-***************
-*** 236,245 ****
-        Decl           : Node_Id;
-  
-     begin
-!       if not Is_Type (E) and then not Is_Subprogram (E) then
-           return;
-        end if;
-  
-        E_Scope := Scope (E);
-  
-        --  If we are freezing entities defined in protected types, they
---- 237,256 ----
-        Decl           : Node_Id;
-  
-     begin
-!       --  For object, with address clause, check alignment is OK
-! 
-!       if Is_Object (E) then
-!          Apply_Alignment_Check (E, N);
-! 
-!       --  Only other items requiring any front end action are
-!       --  types and subprograms.
-! 
-!       elsif not Is_Type (E) and then not Is_Subprogram (E) then
-           return;
-        end if;
-  
-+       --  Here E is a type or a subprogram
-+ 
-        E_Scope := Scope (E);
-  
-        --  If we are freezing entities defined in protected types, they
-***************
-*** 304,314 ****
-  
-        elsif Is_Subprogram (E) then
-           Freeze_Subprogram (N);
-- 
--       --  No other entities require any front end freeze actions
-- 
--       else
--          null;
-        end if;
-  
-        --  Analyze actions generated by freezing. The init_proc contains
---- 315,320 ----
-
-*** exp_util.ads       2001/07/23 10:05:17     1.112
---- exp_util.ads       2001/10/28 15:14:04     1.113
-***************
-*** 372,386 ****
-     --  routine is to help avoid generating troublesome temporaries that
-     --  intefere with the stack checking mechanism.
-  
--    function Must_Be_Aligned (Obj : Node_Id) return Boolean;
--    --  Given an object reference, determines whether or not the object
--    --  is required to be aligned according to its type'alignment value.
--    --  Normally, objects are required to be aligned, and the result will
--    --  be True. The situation in which this is not the case is if the
--    --  object reference involves a component of a packed array, where
--    --  the type of the component is not required to have strict alignment.
--    --  In this case, false will be returned.
-- 
-     procedure Remove_Side_Effects
-       (Exp          : Node_Id;
-        Name_Req     : Boolean := False;
---- 372,377 ----
-
-*** mdllfile.ads       2001/10/29 02:06:24     1.2
---- mdllfile.ads       2001/10/29 02:50:12     1.3
-***************
-*** 26,52 ****
-  --                                                                          --
-  ------------------------------------------------------------------------------
-  
-! --  Simple services used by GNATDLL to deal with Filename extension.
-  
-  package MDLL.Files is
-  
-     No_Ext : constant String := "";
-  
-!    function Get_Ext (Filename : in String)
-!                      return String;
-!    --  return filename's extension.
-! 
-!    function Is_Ali (Filename : in String)
-!                     return Boolean;
-!    --  test if Filename is an Ada library file (.ali).
-! 
-!    function Is_Obj (Filename : in String)
-!                     return Boolean;
-!    --  test if Filename is an object file (.o or .obj).
-! 
-!    function Ext_To (Filename : in String;
-!                     New_Ext  : in String := No_Ext)
-!                     return String;
-!    --  return Filename with the extension change to New_Ext.
-  
-  end MDLL.Files;
---- 26,51 ----
-  --                                                                          --
-  ------------------------------------------------------------------------------
-  
-! --  Simple services used by GNATDLL to deal with Filename extension
-  
-  package MDLL.Files is
-  
-     No_Ext : constant String := "";
-+    --  Used to mark the absence of an extension
-  
-!    function Get_Ext (Filename : String) return String;
-!    --  Return extension of Filename
-! 
-!    function Is_Ali (Filename : String) return Boolean;
-!    --  Test if Filename is an Ada library file (.ali).
-! 
-!    function Is_Obj (Filename : String) return Boolean;
-!    --  Test if Filename is an object file (.o or .obj)
-! 
-!    function Ext_To
-!      (Filename : String;
-!       New_Ext  : String := No_Ext)
-!       return     String;
-!    --  Return Filename with the extension change to New_Ext
-  
-  end MDLL.Files;
-
-*** mlib-fil.ads       2001/10/29 02:06:26     1.3
---- mlib-fil.ads       2001/10/29 02:51:28     1.4
-***************
-*** 36,51 ****
-        return     String;
-     --  Return Filename with the extension change to New_Ext.
-  
-!    function Get_Ext (Filename : in String) return String;
-     --  Return extension of filename.
-  
-     function Is_Archive (Filename : String) return Boolean;
-     --  Test if filename is an archive
-  
-!    function Is_C (Filename : in String) return Boolean;
-     --  Test if Filename is a C file
-  
-!    function Is_Obj (Filename : in String) return Boolean;
-     --  Test if Filename is an object file
-  
-  end MLib.Fil;
---- 36,51 ----
-        return     String;
-     --  Return Filename with the extension change to New_Ext.
-  
-!    function Get_Ext (Filename : String) return String;
-     --  Return extension of filename.
-  
-     function Is_Archive (Filename : String) return Boolean;
-     --  Test if filename is an archive
-  
-!    function Is_C (Filename : String) return Boolean;
-     --  Test if Filename is a C file
-  
-!    function Is_Obj (Filename : String) return Boolean;
-     --  Test if Filename is an object file
-  
-  end MLib.Fil;
-
-*** exp_ch8.adb        2001/10/03 02:17:32     1.30
---- exp_ch8.adb        2001/10/29 17:32:24     1.31
-***************
-*** 59,65 ****
-     --  of the renamed object. The cases in which this is not true are when
-     --  this address is not computable, since it involves extraction of a
-     --  packed array element, or of a record component to which a component
-!    --  clause applies (that can specify an arbitrary bit boundary).
-  
-     --  In these two cases, we pre-evaluate the renaming expression, by
-     --  extracting and freezing the values of any subscripts, and then we
---- 59,66 ----
-     --  of the renamed object. The cases in which this is not true are when
-     --  this address is not computable, since it involves extraction of a
-     --  packed array element, or of a record component to which a component
-!    --  clause applies (that can specify an arbitrary bit boundary), or where
-!    --  the enclosing record itself has a non-standard representation.
-  
-     --  In these two cases, we pre-evaluate the renaming expression, by
-     --  extracting and freezing the values of any subscripts, and then we
-***************
-*** 211,228 ****
-              end if;
-  
-           elsif Nkind (Nam) = N_Selected_Component then
-!             if Present (Component_Clause (Entity (Selector_Name (Nam)))) then
-!                return True;
-  
-!             elsif Ekind (Entity (Selector_Name (Nam))) = E_Discriminant
-!               and then Is_Record_Type (Etype (Prefix (Nam)))
-!               and then not Is_Concurrent_Record_Type (Etype (Prefix (Nam)))
-!             then
-!                return True;
-  
-!             else
-!                return Evaluation_Required (Prefix (Nam));
-!             end if;
-  
-           else
-              return False;
---- 212,236 ----
-              end if;
-  
-           elsif Nkind (Nam) = N_Selected_Component then
-!             declare
-!                Rec_Type : Entity_Id := Etype (Prefix (Nam));
-  
-!             begin
-!                if Present (Component_Clause (Entity (Selector_Name (Nam))))
-!                  or else Has_Non_Standard_Rep (Rec_Type)
-!                then
-!                   return True;
-! 
-!                elsif Ekind (Entity (Selector_Name (Nam))) = E_Discriminant
-!                  and then Is_Record_Type (Rec_Type)
-!                  and then not Is_Concurrent_Record_Type (Rec_Type)
-!                then
-!                   return True;
-  
-!                else
-!                   return Evaluation_Required (Prefix (Nam));
-!                end if;
-!             end;
-  
-           else
-              return False;
-
-*** g-dirope.ads       2001/08/27 09:48:38     1.12
---- g-dirope.ads       2001/10/29 19:18:13     1.13
-***************
-*** 38,43 ****
---- 38,47 ----
-  --  can be treated as a file, using open and close routines, and a scanning
-  --  routine is provided for iterating through the entries in a directory.
-  
-+ --  See also child package GNAT.Directory_Operations.Iteration
-+ 
-+ with Ada.Strings.Maps;
-+ 
-  package GNAT.Directory_Operations is
-  
-     subtype Dir_Name_Str is String;
-***************
-*** 187,248 ****
-     --  returned in target-OS form. Raises Directory_Error if Dir has not
-     --  be opened (Dir = Null_Dir).
-  
--    generic
--       with procedure Action
--         (Item  :        String;
--          Index :        Positive;
--          Quit  : in out Boolean);
--    procedure Wildcard_Iterator (Path : Path_Name);
--    --  Calls Action for each path matching Path. Path can include wildcards '*'
--    --  and '?' and [...]. The rules are:
--    --
--    --     *       can be replaced by any sequence of characters
--    --     ?       can be replaced by a single character
--    --     [a-z]   match one character in the range 'a' through 'z'
--    --     [abc]   match either character 'a', 'b' or 'c'
--    --
--    --  Item is the filename that has been matched. Index is set to one for the
--    --  first call and is incremented by one at each call. The iterator's
--    --  termination can be controlled by setting Quit to True. It is by default
--    --  set to False.
--    --
--    --  For example, if we have the following directory structure:
--    --     /boo/
--    --        foo.ads
--    --     /sed/
--    --        foo.ads
--    --        file/
--    --          foo.ads
--    --     /sid/
--    --        foo.ads
--    --        file/
--    --          foo.ads
--    --     /life/
--    --
--    --  A call with expression "/s*/file/*" will call Action for the following
--    --  items:
--    --     /sed/file/foo.ads
--    --     /sid/file/foo.ads
-- 
--    generic
--       with procedure Action
--         (Item  :        String;
--          Index :        Positive;
--          Quit  : in out Boolean);
--    procedure Find
--      (Root_Directory : Dir_Name_Str;
--       File_Pattern   : String);
--    --  Recursively searches the directory structure rooted at Root_Directory.
--    --  This provides functionality similar to the UNIX 'find' command.
--    --  Action will be called for every item matching the regular expression
--    --  File_Pattern (see GNAT.Regexp). Item is the full pathname to the file
--    --  starting with Root_Directory that has been matched. Index is set to one
--    --  for the first call and is incremented by one at each call. The iterator
--    --  will pass in the value False on each call to Action. The iterator will
--    --  terminate after passing the last matched path to Action or after
--    --  returning from a call to Action which sets Quit to True.
--    --  Raises GNAT.Regexp.Error_In_Regexp if File_Pattern is ill formed.
-- 
-     function Read_Is_Thread_Safe return Boolean;
-     --  Indicates if procedure Read is thread safe. On systems where the
-     --  target system supports this functionality, Read is thread safe,
---- 191,196 ----
-***************
-*** 259,263 ****
---- 207,215 ----
-     Null_Dir : constant Dir_Type := null;
-  
-     pragma Import (C, Dir_Separator, "__gnat_dir_separator");
-+ 
-+    Dir_Seps : constant Ada.Strings.Maps.Character_Set :=
-+                 Ada.Strings.Maps.To_Set ("/\");
-+    --  UNIX and DOS style directory separators.
-  
-  end GNAT.Directory_Operations;
-
-*** freeze.ads 2001/10/29 02:06:04     1.15
---- freeze.ads 2001/10/30 01:36:24     1.16
-***************
-*** 205,210 ****
---- 205,215 ----
-     --  so need to be similarly treated. Freeze_Expression takes care of
-     --  determining the proper insertion point for generated freeze actions.
-  
-+    procedure Freeze_Fixed_Point_Type (Typ : Entity_Id);
-+    --  Freeze fixed point type. For fixed-point types, we have to defer
-+    --  setting the size and bounds till the freeze point, since they are
-+    --  potentially affected by the presence of size and small clauses.
-+ 
-     procedure Freeze_Itype (T : Entity_Id; N : Node_Id);
-     --  This routine is called when an Itype is created and must be frozen
-     --  immediately at the point of creation (for the sake of the expansion
-
-*** impunit.adb        2001/09/26 07:14:11     1.14
---- impunit.adb        2001/10/30 04:33:45     1.15
-***************
-*** 195,200 ****
---- 195,201 ----
-       "g-curexc",    -- GNAT.Current_Exception
-       "g-debpoo",    -- GNAT.Debug_Pools
-       "g-debuti",    -- GNAT.Debug_Utilities
-+      "g-diopit",    -- GNAT.Directory_Operations.Iteration
-       "g-dirope",    -- GNAT.Directory_Operations
-       "g-dyntab",    -- GNAT.Dynamic_Tables
-       "g-exctra",    -- GNAT.Exception_Traces
-
-*** g-regexp.adb       2001/10/21 11:04:16     1.28
---- g-regexp.adb       2001/10/30 15:25:04     1.29
-***************
-*** 32,38 ****
-  --                                                                          --
-  ------------------------------------------------------------------------------
-  
-- with System.IO;
-  with Unchecked_Deallocation;
-  with Ada.Exceptions;
-  with GNAT.Case_Util;
---- 32,37 ----
-***************
-*** 73,82 ****
-     end record;
-     --  Deterministic finite-state machine
-  
--    Debug : constant Boolean := False;
--    --  When True, the primary and secondary tables will be printed.
--    --  Gnat does not generate any code if this variable is False;
-- 
-     -----------------------
-     -- Local Subprograms --
-     -----------------------
---- 72,77 ----
-***************
-*** 188,199 ****
-        pragma No_Return (Raise_Exception);
-        --  Raise an exception, indicating an error at character Index in S.
-  
--       procedure Print_Table
--         (Table      : Regexp_Array;
--          Num_States : State_Index;
--          Is_Primary : Boolean := True);
--       --  Print a table for debugging purposes
-- 
-        --------------------
-        -- Create_Mapping --
-        --------------------
---- 183,188 ----
-***************
-*** 1225,1309 ****
-                 end loop;
-              end loop;
-  
--             if Debug then
--                System.IO.New_Line;
--                System.IO.Put_Line ("Secondary table : ");
--                Print_Table (R.States, Nb_State, False);
--             end if;
-- 
-              return (Ada.Finalization.Controlled with R => R);
-           end;
-        end Create_Secondary_Table;
-  
--       -----------------
--       -- Print_Table --
--       -----------------
-- 
--       procedure Print_Table
--         (Table      : Regexp_Array;
--          Num_States : State_Index;
--          Is_Primary : Boolean := True)
--       is
--          function Reverse_Mapping (N : Column_Index) return Character;
--          --  Return the character corresponding to a column in the mapping
-- 
--          ---------------------
--          -- Reverse_Mapping --
--          ---------------------
-- 
--          function Reverse_Mapping (N : Column_Index) return Character is
--          begin
--             for Column in Map'Range loop
--                if Map (Column) = N then
--                   return Column;
--                end if;
--             end loop;
-- 
--             return ' ';
--          end Reverse_Mapping;
-- 
--       --  Start of processing for Print_Table
-- 
--       begin
--          --  Print the header line
-- 
--          System.IO.Put ("   [*]  ");
-- 
--          for Column in 1 .. Alphabet_Size  loop
--             System.IO.Put
--               (String'(1 .. 1 => Reverse_Mapping (Column)) & "   ");
--          end loop;
-- 
--          if Is_Primary then
--             System.IO.Put ("closure....");
--          end if;
-- 
--          System.IO.New_Line;
-- 
--          --  Print every line
-- 
--          for State in 1 .. Num_States loop
--             System.IO.Put (State'Img);
-- 
--             for K in 1 .. 3 - State'Img'Length loop
--                System.IO.Put (" ");
--             end loop;
-- 
--             for K in 0 .. Alphabet_Size loop
--                System.IO.Put (Table (State, K)'Img & "  ");
--             end loop;
-- 
--             for K in Alphabet_Size + 1 .. Table'Last (2) loop
--                if Table (State, K) /= 0 then
--                   System.IO.Put (Table (State, K)'Img & ",");
--                end if;
--             end loop;
-- 
--             System.IO.New_Line;
--          end loop;
-- 
--       end Print_Table;
-- 
-        ---------------------
-        -- Raise_Exception --
-        ---------------------
---- 1214,1223 ----
-***************
-*** 1345,1356 ****
-                (Table, Num_States, Start_State, End_State);
-           end if;
-  
--          if Debug then
--             Print_Table (Table.all, Num_States);
--             System.IO.Put_Line ("Start_State : " & Start_State'Img);
--             System.IO.Put_Line ("End_State   : " & End_State'Img);
--          end if;
-- 
-           --  Creates the secondary table
-  
-           R := Create_Secondary_Table
---- 1259,1264 ----
-***************
-*** 1451,1467 ****
-           New_Table := new Regexp_Array (Table'First (1) .. New_Lines,
-                                          Table'First (2) .. New_Columns);
-           New_Table.all := (others => (others => 0));
-- 
--          if Debug then
--             System.IO.Put_Line ("Reallocating table: Lines from "
--                                 & State_Index'Image (Table'Last (1))
--                                 & " to "
--                                 & State_Index'Image (New_Lines));
--             System.IO.Put_Line ("   and columns from "
--                                 & Column_Index'Image (Table'Last (2))
--                                 & " to "
--                                 & Column_Index'Image (New_Columns));
--          end if;
-  
-           for J in Table'Range (1) loop
-              for K in Table'Range (2) loop
---- 1359,1364 ----
-
-*** g-dirope.adb       2001/10/31 21:36:04     1.20
---- g-dirope.adb       2001/11/01 16:39:33     1.21
-***************
-*** 371,387 ****
-                 E := E + 1;
-  
-                 Var_Name : loop
-!                   exit Var_Name when E = Path'Last;
-  
-                    if Characters.Handling.Is_Letter (Path (E))
-                      or else Characters.Handling.Is_Digit (Path (E))
-                    then
-                       E := E + 1;
-                    else
--                      E := E - 1;
-                       exit Var_Name;
-                    end if;
-                 end loop Var_Name;
-  
-                 declare
-                    Env : OS_Lib.String_Access := OS_Lib.Getenv (Path (K .. E));
---- 371,388 ----
-                 E := E + 1;
-  
-                 Var_Name : loop
-!                   exit Var_Name when E > Path'Last;
-  
-                    if Characters.Handling.Is_Letter (Path (E))
-                      or else Characters.Handling.Is_Digit (Path (E))
-                    then
-                       E := E + 1;
-                    else
-                       exit Var_Name;
-                    end if;
-                 end loop Var_Name;
-+ 
-+                E := E - 1;
-  
-                 declare
-                    Env : OS_Lib.String_Access := OS_Lib.Getenv (Path (K .. E));
 2001-12-11  Ed Schonberg <schonber@gnat.com>
 
        * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
-       that is the parent of other generics, the instance body replaces the 
-       instance node.  Retrieve the instance of the spec, which is the one 
+       that is the parent of other generics, the instance body replaces the
+       instance node.  Retrieve the instance of the spec, which is the one
        that is visible in clients and within the body.
 
 2001-12-11  Vincent Celier <celier@gnat.com>
 
        * gnatmain.adb: Initial version.
-       
+
        * gnatmain.ads: Initial version.
-       
+
        * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
-       
+
        * snames.adb: Updated to match snames.ads.
-       
+
        * snames.ads: Added Gnatstub.
-       
+
 2001-12-11  Vincent Celier <celier@gnat.com>
 
-       * prj-attr.adb (Initialization_Data): Change name from 
+       * prj-attr.adb (Initialization_Data): Change name from
        Initialisation_Data.
-       
+
 2001-12-11  Emmanuel Briot <briot@gnat.com>
 
        * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
        + and * applied to backslashed expressions like \r.
-       
+
 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
 
-       * g-os_lib.ads: String_List type added, Argument_List type is now 
+       * g-os_lib.ads: String_List type added, Argument_List type is now
        subtype of String_List.
-       
+
 2001-12-11  Robert Dewar <dewar@gnat.com>
 
        * g-os_lib.ads: Change copyright to FSF
        Add comments for String_List type
-       
+
 2001-12-11  Vincent Celier <celier@gnat.com>
 
-       * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a 
+       * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
        string to the buffer).
 
 2001-12-11  Ed Schonberg <schonber@gnat.com>
 
        * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
        sem_attr.
-       
+
        * sem_attr.adb: Simplify previous fix for Address.
-       (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now, 
-       to avoid anomalies where the bound of the type appears to raise 
+       (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
+       to avoid anomalies where the bound of the type appears to raise
        constraint error.
 
 2001-12-11  Robert Dewar <dewar@gnat.com>
 
-       * lib-xref.adb (Output_Refs): Make sure pointers are always properly 
+       * lib-xref.adb (Output_Refs): Make sure pointers are always properly
        handled.
-       
+
 2001-12-11  Ed Schonberg <schonber@gnat.com>
 
-       * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a 
+       * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
        renamed unit before checking for recursive instantiations.
-       
+
 2001-12-11  Emmanuel Briot <briot@gnat.com>
 
        * prj.ads: Add comments for some of the fields.
 
 2001-12-11  Robert Dewar <dewar@gnat.com>
 
-       * lib-xref.adb (Output_Refs): Don't output type references outside 
+       * lib-xref.adb (Output_Refs): Don't output type references outside
        the main unit if they are not otherwise referenced.
-       
+
 2001-12-11  Ed Schonberg <schonber@gnat.com>
 
-       * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify 
+       * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
        code and diagnose additional illegal uses
-       
-       * sem_util.adb (Is_Object_Reference): An indexed component is an 
+
+       * sem_util.adb (Is_Object_Reference): An indexed component is an
        object only if the prefix is.
-       
+
 2001-12-11  Vincent Celier <celier@gnat.com>
 
        * g-diopit.adb: Initial version.
-       
+
        * g-diopit.ads: Initial version.
-       
+
        * g-dirope.adb:
        (Expand_Path): Avoid use of Unbounded_String
        (Find, Wildcard_Iterator): Moved to child package Iteration
-       
+
        * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
-       
+
 2001-12-11  Robert Dewar <dewar@gnat.com>
 
        * sem_attr.adb: Minor reformatting
 2001-12-11  Ed Schonberg <schonber@gnat.com>
 
        * sem_ch3.adb: Clarify some ???.
-       
+
 2001-12-11  Robert Dewar <dewar@gnat.com>
 
-       * exp_util.adb (Must_Be_Aligned): Removed, replaced by 
+       * exp_util.adb (Must_Be_Aligned): Removed, replaced by
        Exp_Pakd.Known_Aligned_Enough
-       
-       * sem_ch13.adb (Check_Address_Alignment): Removed, extended 
+
+       * sem_ch13.adb (Check_Address_Alignment): Removed, extended
        version is moved to Exp_Ch13.
 
 2001-12-11  Robert Dewar <dewar@gnat.com>
 
        * einfo.ads: Minor reformatting
-       
+
        * exp_ch5.adb: Add comment for previous.change
-       
+
        * ali.adb: New interface for extended typeref stuff.
-       
+
        * ali.ads: New interface for typeref stuff.
-       
+
        * checks.adb (Apply_Alignment_Check): New procedure.
-       
+
        * debug.adb: Add -gnatdM for modified ALI output
-       
+
        * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
-       
-       * lib-xref.adb: Extend generation of <..> notation to cover 
-       subtype/object types. Note that this is a complete rewrite, 
-       getting rid of the very nasty quadratic algorithm previously 
+
+       * lib-xref.adb: Extend generation of <..> notation to cover
+       subtype/object types. Note that this is a complete rewrite,
+       getting rid of the very nasty quadratic algorithm previously
        used for derived type output.
-       
-       * lib-xref.ads: Extend description of <..> notation to cover 
-       subtype/object types. Uses {..} for these other cases. 
+
+       * lib-xref.ads: Extend description of <..> notation to cover
+       subtype/object types. Uses {..} for these other cases.
        Also use (..) for pointer types.
-       
+
        * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
-       
-       * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say: 
+
+       * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
        (Known_Aligned_Enough): Replaces Must_Be_Aligned.
 
 2001-12-11  Vincent Celier <celier@gnat.com>
        Changed /COMPILE_ONLY to /ACTIONS=COMPILE
        Changed /BIND_ONLY to /ACTIONS=BIND
        Changed /LINK_ONLY to /ACTIONS=LINK
-       
+
 2001-12-11  Ed Schonberg  <schonber@gnat.com>
 
        * sem_ch8.adb (Find_Selected_Component): improved search for a
        candidate package in case of error.
-       
+
        * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
        chain back on scope stack before reinstalling use clauses.
-       
+
        * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
        is enabled, do not kill the code for the condition, to preserve
        warning.
 
 2001-12-11  Robert Dewar <dewar@gnat.com>
 
-       * checks.adb (Insert_Valid_Check): Apply validity check to expression 
+       * checks.adb (Insert_Valid_Check): Apply validity check to expression
        of conversion, not to result of conversion.
 
 2001-12-11  Ed Schonberg <schonber@gnat.com>
-       
-       * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag 
-       before freezing parent. If the declarations are mutually recursive, 
-       an access to the current record type may be frozen before the 
+
+       * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
+       before freezing parent. If the declarations are mutually recursive,
+       an access to the current record type may be frozen before the
        derivation is complete.
 
 2001-12-05  Vincent Celier <celier@gnat.com>
 
-       * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY, 
+       * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
        -c /COMPILE_ONLY, -l /LINK_ONLY
-       
+
        * opt.ads:
        (Bind_Only): New Flag
        (Link_Only): New flag
-       
-       * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only) 
+
+       * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
        and -l (Link_Only)
-       
+
        * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
-       
+
        * make.adb:
        (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
        (Gnatmake): Set the step flags. Only perform a step if the
 
 2001-12-05  Ed Schonberg <schonber@gnat.com>
 
-       * sem_eval.adb (Eval_Concatenation): If left operand is a null string, 
+       * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
        get bounds from right operand.
-       
+
        * sem_eval.adb: Minor reformatting
-       
-       * exp_util.adb (Make_Literal_Range): use bound of literal rather 
+
+       * exp_util.adb (Make_Literal_Range): use bound of literal rather
        than Index'First, its lower bound may be different from 1.
-       
-       * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B 
+
+       * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
        and C48009J
-       
+
 2001-12-05  Vincent Celier <celier@gnat.com>
 
        * prj-nmsc.adb Minor reformatting
-       
-       * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if 
+
+       * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
        set and libraries are not supported.
-       
+
 2001-12-05  Ed Schonberg <schonber@gnat.com>
 
-       * sem_ch3.adb (Build_Derived_Private_Type): set Public status of 
-       private view explicitly, so the back-end can treat as a global 
+       * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
+       private view explicitly, so the back-end can treat as a global
        when appropriate.
 
 2001-12-05  Ed Schonberg <schonber@gnat.com>
         unit, always replace instance node with new body, for ASIS use.
 
 2001-12-05  Vincent Celier <celier@gnat.com>
-       
-       * prj-nmsc.adb (Language_Independent_Check): Issue a warning if 
-       libraries are not supported and both attributes Library_Name and 
+
+       * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
+       libraries are not supported and both attributes Library_Name and
        Library_Dir are specified.
-       
-       * prj-proc.adb (Expression): Set location of Result to location of 
+
+       * prj-proc.adb (Expression): Set location of Result to location of
        first term.
-       
+
        * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
        (prj-nmsc is now importing MLib.Tgt)
-       
+
        * prj-proc.adb: Put the change indicated above that was forgotten.
 
 2001-12-05  Robert Dewar <dewar@gnat.com>
 
        * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
        constraint, introduce explicit subtype declaration and derive from it.
-       
+
        * sem_ch3.adb: Minor reformatting
 
 2001-12-05  Robert Dewar <dewar@gnat.com>
 
-       * checks.adb (Determine_Range): Increase cache size for checks. 
+       * checks.adb (Determine_Range): Increase cache size for checks.
        Minor reformatting
-       
+
        * exp_ch6.adb: Minor reformatting
        (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
        a parameter whose root type is System.Address, since treating such
        subprograms as pure in the code generator is almost surely a mistake
        that will lead to unexpected results.
-       
-       * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and 
+
+       * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
        change handling of conversions.
-       
+
        * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
 
 2001-12-05  Ed Schonberg <schonber@gnat.com>
 
-       * sem_ch3.adb (Analyze_Object_Declaration): If expression is an 
-       aggregate with static wrong size, attach generated Raise node to 
+       * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
+       aggregate with static wrong size, attach generated Raise node to
        declaration.
 
 2001-12-05  Robert Dewar <dewar@gnat.com>
 
-       * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute. 
+       * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
        Fixes compilation abandoned bomb in B24009B.
 
 2001-12-05  Ed Schonberg <schonber@gnat.com>
 
        * prj-dect.ads: Add ??? comment
        Add 2001 to copyright notice (was not done in after all)
-       
+
        * prj-part.adb: Minor reformatting. Reword one awkward error message.
-       
+
        * prj.ads: Minor reformatting throughout, and add some ??? comments
-       
+
        * snames.ads: Minor reformatting
 
 2001-12-05  Geert Bosch <bosch@gnat.com>
 2001-12-05  Vincent Celier <celier@gnat.com>
 
        * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
-       
+
        * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
-       
+
        * prj-env.adb: Minor comment changes (modifying -> extends).
-       
+
        * prj-nmsc.adb: Minor comment changes (modifying -> extends).
-       
-       * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to 
+
+       * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
        Tok_Extends.
-       
+
        * prj.adb (Initialize): Change Modifying to Extends.
-       
+
        * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
-       
+
        * prj.ads: Minor comment change (Modifying -> extending).
-       
+
        * snames.ads: Change modifying to extends.
 
 2001-12-05  Robert Dewar <dewar@gnat.com>
 
-       * sem_warn.adb: Remove stuff for conditionals, we are not going to 
+       * sem_warn.adb: Remove stuff for conditionals, we are not going to
        do this after all.
-       
-       * sem_warn.ads: Remove stuff for conditionals, we are not going to 
+
+       * sem_warn.ads: Remove stuff for conditionals, we are not going to
        do this after all.  Add 2001 to copyright notice
 
 2001-12-04  Geert Bosch <bosch@gnat.com>
 
 2001-12-04  Robert Dewar <dewar@gnat.com>
 
-       * errout.adb (Error_Msg): Ignore attempt to put error msg at junk 
-       location if we already have errors. Stops some cases of cascaded 
+       * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
+       location if we already have errors. Stops some cases of cascaded
        errors.
-       
+
        * errout.adb: Improve comment.
 
 2001-12-04  Robert Dewar <dewar@gnat.com>
        * sem_ch12.adb:
        (Analyze_Formal_Type_Definition): Defend against Error.
        (Analyze_Formal_Subprogram): Defend against Error.
-       
-       * par-ch12.adb (F_Formal_Type_Declaration): In case of error, 
+
+       * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
        remove following semicolon if present. Removes cascaded error.
 
 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
 
 2001-12-04  Ed Schonberg <schonber@gnat.com>
 
-       * einfo.ads: Block_Node points to the identifier of the block, not to 
-       the block node itself, to preserve the link when the block is 
-       rewritten, e.g. within an if-statement with a static condition. 
-       
-       * inline.adb (Cleanup_Scopes): recover block statement from block 
+       * einfo.ads: Block_Node points to the identifier of the block, not to
+       the block node itself, to preserve the link when the block is
+       rewritten, e.g. within an if-statement with a static condition.
+
+       * inline.adb (Cleanup_Scopes): recover block statement from block
        entity using new meaning of Block_Node.
-       
-       * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to 
+
+       * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
        identifier of block node, rather than to node itself.
 
 2001-12-04  Gary Dismukes <dismukes@gnat.com>
-       
+
        * layout.adb:
        (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
        (Discrimify): Go back to setting the Etypes of the selected component
-       because the Vname component does not exist at this point and will 
+       because the Vname component does not exist at this point and will
        fail name resolution. Also set Analyzed.
        Remove with and use of Sem_Res.
 
 
 2001-12-04  Ed Schonberg <schonber@gnat.com>
 
-       * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before 
+       * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
        processing discriminants to diagnose illegal default values.
 
 2001-12-04  Ed Schonberg <schonber@gnat.com>
 
-       * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide 
-       access discriminant within a type extension that constrains its 
+       * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
+       access discriminant within a type extension that constrains its
        parent discriminants.
 
 2001-12-04  Ed Schonberg <schonber@gnat.com>
 
-       * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication 
+       * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
        is malformed, use instance of Any_Id to allow analysis to proceed.
-       
-       * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if 
+
+       * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
        type definition is illegal.
        (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
        misplaced.
 
 2001-12-04  Ed Schonberg <schonber@gnat.com>
 
-       * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to 
+       * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
        constants.
 
 2001-12-04  Robert Dewar <dewar@gnat.com>
 2001-12-04  Robert Dewar <dewar@gnat.com>
 
        * exp_util.adb: Minor reformatting from last change
-       
-       * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node 
-       which is a rewriting of an expression, traverse the original 
+
+       * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
+       which is a rewriting of an expression, traverse the original
        expression to remove warnings that may have been posted on it.
 
 2001-12-04  Ed Schonberg <schonber@gnat.com>
 
-       * exp_util.adb (Must_Be_Aligned): Return false for a component of a 
+       * exp_util.adb (Must_Be_Aligned): Return false for a component of a
        record that has other packed components.
 
 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
 
 2001-12-04  Arnaud Charlet <charlet@gnat.com>
 
-       * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes 
+       * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
        more confusion than it solves.
 
 2001-12-04  Geert bosch <bosch@gnat.com>
 
 2001-12-04  Geert Bosch  <bosch@gnat.com>
 
-       * Makefile.in (update-sources): New target. 
+       * Makefile.in (update-sources): New target.
        For use by gcc_release script.
 
 2001-12-04  Ed Schonberg <schonber@gnat.com>
 
-       * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as 
+       * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
        a configuration pragma, it is now legal wherever a pragma can appear.
 
 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
 
        * einfo.adb (Has_Pragma_Pure_Function): New flag.
        Fix problem that stopped ceinfo from working
-       
+
        * einfo.ads (Has_Pragma_Pure_Function): New flag.
-       
+
        * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
 
 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
        (Preserve_Mode): New boolean.
        (Write_Unit): Pass time stamp.
        Implement -p switch (preserve time stamps).
-       
+
        * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
-       
+
        * gnatchop.adb: Do usage info for -p switch
-       
+
        * adaint.h (__gnat_set_file_time_name): New function
-       
+
        * adaint.c (__gnat_set_file_time_name): Implement
-       
+
        * adaint.h: Fix typo
 
 2001-12-03  Robert Dewar <dewar@gnat.com>