OSDN Git Service

2004-05-17 Steve Kargl <kargls@comcast.net>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index d2796d7..c311e98 100644 (file)
+2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       Part of function-at-a-time conversion
+
+       * misc.c (adjust_decl_rtl): Deleted.
+       (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
+       Define.
+
+       * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
+       (add_decl_stmt, add_stmt, block_has_vars): New functions.
+       (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
+
+       * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
+       when making a decl.
+       (gnat_to_gnu_entity): Likewise.
+       Use add_stmt to update setjmp buffer.
+       Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
+       flush_addressof.
+       No longer call adjust_decl_rtl.
+       (DECL_INIT_BY_ASSIGN_P): New macro.
+       (DECL_STMT_VAR): Likewise.
+
+       * trans.c (gigi): Call start_block_stmt to make the outermost
+       BLOCK_STMT.
+       (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
+       Call start_block_stmt and end_block_stmt temporarily.
+       Use gnat_expand_stmt instead of expand_expr_stmt.
+       (add_decl_stmt): New function.
+       (tree_transform): Call it.
+       (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
+       (end_block_stmt): Set type and NULL_STMT.
+       (gnat_expand_stmt): Make recursize call instead of calling
+       expand_expr_stmt.
+       (gnat_expand_stmt, case DECL_STMT): New case.
+       (set_lineno_from_sloc): Do nothing if global.
+       (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
+       (start_block_stmt, add_stmt, end_block_stmt): New functions.
+       (build_block_stmt): Call them.
+       (gnat_to_code): Don't expand NULL_STMT.
+       (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
+       args.
+       (tree_transform): Likewise.
+       (tree_transform, case N_Null_Statement): Return NULL_STMT.
+       (gnat_expand_stmt, case NULL_STMT): New case.
+       (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
+       IF_STMT_TRUE.
+
+       * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
+       TREE_ADDRESSABLE.
+
+       * utils.c (create_var_decl): Do not call expand_decl or
+       expand_decl_init.
+       Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
+       Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
+       here.
+       (struct e_stack): Add chain_next to GTY.
+       (struct binding_level): Deleted.
+       (struct ada_binding_level): New struct.
+       (free_block_chain): New.
+       (global_binding_level, clear_binding_level): Deleted.
+       (global_bindings_p): Rework to see if no chain.
+       (kept_level_p, set_block): Deleted.
+       (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
+       new data structure and work directly on BLOCK node.
+       (gnat_poplevel): Similarly.
+       (get_decls): Look at BLOCK_VARS.
+       (insert_block): Work directly on BLOCK node.
+       (block_has_var): New function.
+       (pushdecl): Rework for new binding structures.
+       (gnat_init_decl_processing): Rename and rework calls to pushlevel and
+       poplevel.
+       (build_subprog_body): Likewise.
+       (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
+
+       * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
+
+       * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
+       (DECL_STMT_VAR): Likewise.
+
+2004-05-17  Robert Dewar  <dewar@gnat.com>
+
+       * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
+       procedure
+
+       * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
+       of restriction synonyums by using
+       Restrict.Process_Restriction_Synonyms.
+
+       * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
+
+       * s-restri.ads (Tasking_Allowed): Correct missing comment
+
+       * s-rident.ads: Add entries for restriction synonyms
+
+       * ali.adb: Fix some problems with badly formatted ALI files that can
+       result in infinite loops.
+
+       * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
+       s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
+       s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+       s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
+       s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
+       s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
+       s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
+       s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
+       s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
+       a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
+       exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
+       s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
+       s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
+       s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
+       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-tassta.ads, s-tasuti.adb, s-tasuti.ads,
+       s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
+       s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
+       s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
+       to Task_Id (minor cleanup).
+
+2004-05-17  Vincent Celier  <celier@gnat.com>
+
+       * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
+       directory separator.
+
+       * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
+       project being extended, if Languages is not declared in extending
+       project.
+
+2004-05-17  Javier Miranda  <miranda@gnat.com>
+
+       * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
+       limited view of a visible sibling.
+
+2004-05-14  Robert Dewar  <dewar@gnat.com>
+
+       * gnat_ugn.texi: Minor change to -gnatS documentation
+
+       * sprint.adb: Remove some instances of Assert (False) and for this
+       purpose replace them by output of a ??? string.
+
+       * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
+       Assert (False).
+
+       * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
+       flag processing. This was suppressing required dependencies in
+       No_Run_Time mode and is not needed since the binder does not generate
+       references for things in libgnat anyway.
+
+       * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
+       warning.
+
+2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
+
+       * gnat_ugn.texi: Document AIX-specific issue with initialization of
+       resolver library.
+
+       * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
+       action for the case of an actual parameter in an init proc call.
+
+2004-05-14  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
+       subtype, check visible entities in base type.
+
+       * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
+       actions if the object is a renaming.
+
+       * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
+       Check_Formal_Package_Instance, to determine more precisely when the
+       formal and the actual denote the same entity.
+
+2004-05-14  Javier Miranda  <miranda@gnat.com>
+
+       * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
+
+       * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
+       corresponding to a private_with must be removed from visibility; it
+       will be made visible later, just before we analyze the private part of
+       the package.
+       (Check_Private_Child_Unit): Allow private_with clauses in public
+       siblings.
+       (Install_Siblings): Make visible the private entities of private-withed
+       siblings.
+       (Install_Withed_Unit): Do not install the private withed unit if we
+       are compiling a package declaration and the Private_With_OK flag was
+       not set by the caller. These declarations will be installed later,
+       just before we analyze the private part of the package.
+
+       * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
+       during the evaluation of the expression that initializes the object,
+       decorate it with the expected type to avoid cascade errors.
+       Code cleanup.
+
+       * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
+       subprogram we have to install the private_with clauses after its
+       specification has been analyzed (as documented in AI-262.TXT).
+
+       * sem_ch8.adb (Has_Private_With): New function. Determines if the
+       current compilation unit has a private with on a given entity.
+       (Find_Direct_Name): Detect the Beaujolais problem described in
+       AI-262.TXT
+
+       * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
+       provides the functionality of the function Is_Ancestor that was
+       previously available in sem_ch10. It has been renamed to avoid
+       overloading.
+
+       * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
+
+2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * utils.c (build_vms_descriptor): Use SImode pointers.
+
+2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
+
+       * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
+
+2004-05-14  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
+
+       Renaming of target specific files for clarity
+
+        * Makefile.in: Rename GNAT target specific files.
+
+       * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
+       3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
+       3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
+       3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
+       3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
+       3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
+       42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
+       4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
+       4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
+       4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
+       4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
+       4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
+       51osinte.adb, 51osinte.ads, 51system.ads,
+       52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
+       55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
+       56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
+       56tpopsp.adb, 57system.ads, 58system.ads,
+       5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
+       5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
+       5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
+       5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
+       5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
+       5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
+       5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
+       5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
+       5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
+       5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
+       5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
+       5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
+       5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
+       5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
+       5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
+       5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
+       5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
+       5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
+       5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
+       5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
+       5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
+       5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
+       5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
+       5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
+       5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
+       5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
+       5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
+       5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
+       5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
+       5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
+       5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
+       5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
+       5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
+       5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
+       5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
+       5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
+       7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
+       7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
+       7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
+       7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
+
+       * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
+       a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
+       a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
+       a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
+       a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
+       a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
+       a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
+       a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
+       a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
+       a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
+       g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
+       g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
+       g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
+       g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
+       g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
+       g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
+       g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
+       g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
+       interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
+       mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
+       mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
+       mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
+       s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
+       s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
+       s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
+       s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
+       s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
+       s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
+       s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
+       s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
+       s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
+       s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
+       s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
+       s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
+       s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
+       s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
+       s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
+       s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
+       s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
+       s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
+       s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
+       s-osinte-vms.ads, s-osinte-vxworks.adb,
+       s-osinte-vxworks.ads, s-osprim-mingw.adb,
+       s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
+       s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
+       s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
+       s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
+       s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
+       s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
+       s-stchop-vxworks.adb, s-taprop-dummy.adb,
+       s-taprop-hpux-dce.adb, s-taprop-irix.adb,
+       s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
+       s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
+       s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
+       s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
+       s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
+       s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
+       s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
+       s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
+       s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
+       s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
+       s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
+       s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
+       s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
+       s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
+       s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
+       s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
+       s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
+       symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
+       system-hpux.ads, system-interix.ads, system-irix-n32.ads,
+       system-irix-o32.ads, system-linux-x86_64.ads,
+       system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
+       system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
+       system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
+       system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
+       system-vxworks-alpha.ads, system-vxworks-m68k.ads,
+       system-vxworks-mips.ads, system-vxworks-ppc.ads,
+       system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
+       above.
+
+2004-05-13  Zack Weinberg  <zack@codesourcery.com>
+
+       * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
+
+2004-05-13  Diego Novillo  <dnovillo@redhat.com>
+
+       Merge from tree-ssa-20020619-branch.
+
+       * config-lang.in (boot_language, build_by_default): Set
+       to no.
+       * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
+       (max_size): Add static chain op for call_expr.
+
+2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR target/15331
+       * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
+
+2004-05-11  Roger Sayle  <roger@eyesopen.com>
+
+       * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
+       COND_EXPR.
+
+2004-05-10  Doug Rupp  <rupp@gnat.com>
+
+       * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
+       system.aux_dec.
+
+       * s-auxdec.ads: Add Short_Address subtype (moved here from System).
+
+       * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
+
+       * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
+       Fixes undefined symbols in IA64 gnatlib.
+
+       * 5vinmaop.adb: Reference s-auxdec for Short_Address.
+
+       * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
+       Short_Address). This will be moved to system.auxdec.
+
+2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem_util.adb: Replace test for presence of a node that is always
+       present with a call to Discard_Node.
+
+       * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
+       Analyze on the library unit node after generation of distribution stub
+       constructs.  The call was a no-op because Unit_Node has already been
+       Analyzed, and the tree fragments for the distribution stubs are
+       analyzed as they are inserted in Exp_Dist.
+       Update comment regarding to distribution stubs to reflect that we
+       do not generate stub in separate files anymore.
+
+       * einfo.ads: Clarify the fact that a tagged private type has the
+       E_Record_Type_With_Private Ekind.
+
+       * erroutc.adb: Minor reformatting
+
+       * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
+       values if line length is increased using -gnatyM (noticed during code
+       reading).
+
+       * eval_fat.adb: Minor reformatting
+       Put spaces around exponentiation operator
+
+2004-05-10  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15005
+       * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
+       has been rewritten as an explicit dereference, retrieve type of
+       original node to check for possibly unconstrained record type.
+
+2004-05-10  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
+       overriding, use the operation of the parent unconditionally.
+
+       * sem_ch4.adb (Remove_Address_Interpretations): Remove address
+       operation when either operand is a literal, to avoid further
+       ambiguities.
+
+       * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
+       overridden by a previous explicit declaration, mark the previous entity
+       as overriding.
+
+       * sem_disp.adb (Check_Dispatching_Operation): New predicate
+       Is_Visibly_Controlled, to determine whether a declaration of a
+       primitive control operation for a derived type overrides an inherited
+       one. Add warning if the explicit declaration does not override.
+
+2004-05-10  Vincent Celier  <celier@gnat.com>
+
+       * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
+       some cases when the sources are no longer present.
+
+       * make.adb (Collect_Arguments): Fail if an external source, not part
+       of any project need to be compiled, when switch -x has not been
+       specified.
+
+       * makeusg.adb: Document new switch -x
+
+       * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
+       defaulted to False.
+
+       * switch-m.adb (Scan_Make_Switches): New switch -x
+
+       * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
+       gnatmake switch -x.
+
+       * gnat_ugn.texi: Document new gnatmake switch -x
+
+2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
+
+       * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
+       (process_attributes): Likewise.
+
+2004-05-10  Joel Brobecker  <brobecker@gnat.com>
+
+       * s-inmaop.ads: Fix spelling mistake in one of the comments.
+
+2004-05-10  Robert Dewar  <dewar@gnat.com>
+
+       * gnat_ugn.texi: Document that for config pragma files, the maximum
+       line length is always 32767.
+
+       * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
+       literals is now allowed.
+
+       * gnat-style.texi: Remove statement about splitting long lines before
+       an operator rather than after, since we do not follow this rule at all.
+       Clarify rule (really lack of rule) for spaces around exponentiation
+
+       * sem_elim.adb: Allow concatenation of string literals as well as a
+       single string literal for pragma arguments.
+
+       * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
+
+       * a-textio.adb (Terminate_Line): Do not add line feed if nothing
+       written for append case.
+
+       * frontend.adb: Changes to avoid checking max line length in config
+       pragma files.
+
+       * g-os_lib.ads: Minor reformatting
+
+       * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
+       wrong in any case. Instead use standard value. Noticed during code
+       reading.
+
+       * opt.ads (Max_Line_Length): New field, used to implement removal of
+       limitation on length of lines when scanning config pragma files.
+
+       * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
+       makeutl.ads, makeutl.adb: Minor reformatting
+
+       * scn.adb: Do not check line length while scanning config pragma files
+       Do not check line length while scanning out license information
+
+       * scng.adb: Changes to avoid line length checks while parsing config
+       pragma files.
+
+2004-05-10  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * osint.adb (Find_Program_Name): Fix handling of VMS version
+       number.
+
+2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
+
+       * g-os_lib.ads (Invalid_Time): New constant
+
+       * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
+       return OS_Time instead of time_t to match what is imported by Ada.
+       Now return -1 if the file doesn't exist, instead of a random value
+
+2004-05-05  Robert Dewar  <dewar@gnat.com>
+
+       * usage.adb: Add line for -gnatR?s switch
+
+       * sem_ch13.adb, exp_ch2.adb: Minor reformatting
+
+       * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
+       and for Match (Data_First, Data_last)
+
+       * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
+       written when we are dealing with multi-unit files.
+
+2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
+
+       * Makefile.in: Remove unused targets and variables.
+
+2004-05-05  Vincent Celier  <celier@gnat.com>
+
+       * switch-m.adb: New gnatmake switch -eI
+
+       * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
+       of new gnatmake switch -eInnn.
+
+       * makegpr.adb: Take into account new parameters Index and Src_Index in
+       Prj.Util.
+
+       * clean.adb: Implement support for multi-unit sources, including new
+       switch -i.
+
+       * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
+       Src_Index.
+
+       * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
+       (Extract_From_Q): New out parameter Index
+       (Mark, Is_Marked): Subprograms moved to Makeutl
+       (Switches_Of): New parameter Source_Index
+       (Add_Switch): New parameter Index
+       (Check): New parameter Source_Index
+       (Collect_Arguments): New parameter Source_Index
+       (Collect_Arguments_And_Compile): New parameter Source_Index
+       (Compile): New parameter Source_Index
+       Put subprograms in alphabetical order
+       Add support for multi-source sources, including in project files.
+
+       * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
+       (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
+       Make.
+
+       * makeusg.adb: New gnatmake switch -eInnn
+
+       * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
+       Prj.Util.Value_Of.
+
+       * opt.ads (Main_Index): New variable, defaulted to 0.
+
+       * osint.ads, osinte.adb (Add_File): New parameter Index
+       (Current_Source_Index): New function
+
+       * prj.adb: Take into account new components Index and Src_Index
+
+       * prj.ads (String_Element): New component Index
+       (Variable_Value): New component Index
+       (Array_Element): New component Src_Index
+
+       * prj-attr.adb: Indicate that optional index may be specified for
+       attributes Main, Executable, Spec, Body and some of Switches.
+
+       * prj-attr.ads (Attribute_Kind): New values for optional indexes
+       (Attribute_Record): New component Optional_Index
+
+       * prj-com.ads (File_Name_Data): New component Index
+
+       * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
+
+       * prj-env.adb (Put): Output optional index
+
+       * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
+       attributes Spec and Body.
+
+       * prj-nmsc.adb: Process optional indexes
+
+       * prj-pp.adb: Ouput "at" for optional indexes
+
+       * prj-proc.adb: Take into account optional indexes
+
+       * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
+       Optional_Index. For string literal,
+       process optional index when Optional_Index is True.
+       (Parse_Expresion): New Boolean parameter Optional_Index
+
+       * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
+       (Set_Source_Index_Of): New procedure
+
+       * prj-util.adb (Executable_Of, Value_Of): Take into account optional
+       index.
+
+       * prj-util.ads (Executable_Of): New parameter Index
+       (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
+       New parameter Src_Index, defaulted to 0.
+
+2004-05-05  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15257
+       * sem_ch3.adb (Access_Definition): If this is an access parameter
+       whose designated type is imported through a limited_with clause, do
+       not add the enclosing subprogram to the list of private dependents of
+       the type.
+
+2004-05-05  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15258
+       * sem_ch6.adb (Base_Types_Match): True if one type is imported through
+       a limited_with clause, and the other is its non-limited view.
+
+2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
+
+       * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
+
+       * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
+       exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
+       Stand.Boolean_Literals to produce references to entities
+       Standard_False and Standard_True from compile-time computed boolean
+       values.
+
+       * stand.ads (Boolean_Literals): New variable, provides the entity
+       values for False and True, for use by the expander.
+
+2004-05-05  Doug Rupp  <rupp@gnat.com>
+
+       * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
+       5vinmaop.adb: Unchecked convert Short_Address vice Address
+
+       * adaint.c, raise.c: Caste CRTL function return value
+       to avoid gcc error on 32/64 bit IVMS.
+
+       * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
+       target = IA64/VMS.
+
+       * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
+
+       * 5qsystem.ads (Address): Declare as Long_Integer
+       (Short_Address): Declare as 32 bit subtype of Address
+       Declare  abstract address operations to avoid gratuitous ambiguities.
+
+2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
+       instead of the old Boolean_Entry_Barriers.
+       Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
+
+2004-05-05  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
+
+2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
+
+       PR ada/15152
+
+       * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
+       alone. Replacing object references by literals is inappropriate in a
+       so low level context.
+
+2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * a-exexpr.adb: Add comments
+
+2004-05-03  Joel Brobecker  <brobecker@gnat.com>
+
+       * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
+       declare the Ancestor_Tags array in Type_Specific_Data with a small size
+       without risking a bounds check error when accessing one of its
+       components.
+       (Type_Specific_Data): Define Ancestor_Tags as a small array.
+       This prevents us from hitting a limitation during the debug info
+       generation when using stabs.
+
+       * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
+       small array.
+       This prevents us from hitting a limitation during the debug info
+       generation when using stabs.
+
+2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       lang-specs.h: Remove -gnatz* from specs.
+
+2004-05-03  Vincent Celier  <celier@gnat.com>
+
+       * gprmake.adb, makegpr.ads, makegpr.adb: New files.
+
+       * Make-lang.in, Makefile.in: Add gprmake
+
+2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem_aggr.adb: Fix typo in comment.
+
+2004-05-03  Robert Dewar  <dewar@gnat.com>
+
+       * make.adb: Minor reformatting
+
+       * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
+
+       * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
+       so that it works when address is not a private type.
+
+       * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
+       properly with rewritten unchecked conversions. This prevents
+       order-of-elaboration issues that can otherwise arise.
+       (Minimum_Size): Don't check size of access types under VMS
+
+       * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
+       interpretations of integer literals as type System.Address.
+
+       * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
+       (Is_Descendent_Of): New function
+
+2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
+       Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
+       No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
+
+       * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
+       of the old Max_Entry_Queue_Depth.
+
+       * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
+       Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
+       No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
+
+       * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
+       New entry for proper handling of Max_Entry_Queue_Depth.
+       New entry for proper handling of No_Dynamic_Interrupts.
+
+       * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
+       supersedes the GNAT specific restriction Boolean_Entry_Barriers.
+       Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
+       the GNAT specific restriction Max_Entry_Queue_Depth.
+       Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
+       the GNAT specific restriction No_Dynamic_Interrupts.
+
+       * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
+       instead of the old Boolean_Entry_Barriers.
+       Use the new restriction No_Dynamic_Attachment instead of the old
+       No_Dynamic_Interrupts.
+
+       * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
+       supersedes the GNAT specific restriction Boolean_Entry_Barriers.
+
+       * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
+       of the old Max_Entry_Queue_Depth.
+
+2004-05-03  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2004-04-29  Ed Schonberg  <schonberg@gnat.com>
+
+       * checks.adb (Enable_Range_Check): If the prefix of an index component
+       is an access to an unconstrained array, perform check unconditionally.
+
+2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * decl.c (gnat_to_gnu_field): Also call make_packable_type if
+       Component_Clause.
+
+2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
+
+       * init.c (__gnat_install_handler, __gnat_error_handler): Remove
+       alternate stack setting. There was no support for the tasking cases
+       and the changes eventually caused a number of side-effect failures in
+       the non-tasking case too.
+
+2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
+       -gnats is passed.
+
+2004-04-29  Vincent Celier  <celier@gnat.com>
+
+       * make.adb (Gnatmake): Increase max size of argument array for
+       gnatbind for the potential addition of -F.
+       If there are Stand-Alone Library projects, invoke gnatbind with -F to
+       be sure that elaboration flags will be checked.
+
+       * switch-c.adb: Correct call to Scan_Pos for -gnateI
+
+2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem_warn.adb (Check_References): Move '<access-variable> may be
+       null' warning out of under Warn_On_No_Value_Assigned.
+
+2004-04-29  Ed Falis  <falis@gnat.com>
+
+       * gnat_ugn.texi: Fixed texi error
+
+2004-04-29  Robert Dewar  <dewar@gnat.com>
+
+       * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
+       abstract operations if they come from predefined files.
+
+       * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
+       Dynamic, not RM).
+
+       * s-addope.adb: Correct obvious error in mod function
+
+2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
+
+       * Makefile.in: Add target pairs for powerpc darwin*
+       tasking support.
+
+       * a-intnam-darwin.ads, s-osinte-darwin.adb,
+       s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
+
+2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * Makefile.in: Add target macro definitions for s390*-linux*.
+       * system-linux-s390.ads: New file.
+       * system-linux-s390x.ads: New file.
+
+2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * gnat_ugn.texi: Correct argument to @setfilename.
+
+2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * a-exexpr.adb (Unwind_Word): New data type.
+       (Unwind_Exception): Use it as type of Private1 and Private2.
+
+       * raise.c (db_action_for): Fix debug printf.
+
+2004-04-27  Ed Schonberg  <schonberg@gnat.com>
+
+       * a-wtmoio.ads: Formal type must be a modular type, not a signed
+       integer type.
+
+2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * decl.c (gnat_to_gnu_entity, case object): Call
+       __builtin_update_setjmp_buf.
+
+       * gigi.h (update_setjmp_buf): Deleted.
+       (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
+
+       * misc.c: (update_setjmp_buf): Deleted.
+
+       * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
+       around block of RTL.
+
+       * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
+
+2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
+       subprogram for which no pragma All_Calls_Remote applies, store the
+       address of the real subprogram in the underlying record type, so local
+       dereferences do not go through the PCS.
+
+2004-04-26  Robert Dewar  <dewar@gnat.com>
+
+       * i-c.ads: Add some type qualifications to avoid ambiguities when
+       compiling with s-auxdec.ads and a non-private address type.
+
+2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * Makefile.rtl: Fix error in previous check-in:
+       Add s-addope.o to non tasking object list (rather than tasking object
+       list).
+
+2004-04-26  Javier Miranda  <miranda@gnat.com>
+
+       * sem_aggr.adb: Fix typo in comments
+       (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
+       Required to check the null-exclusion attribute.
+
+       * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
+       case of anonymous access types in record and array components. For a
+       component definition the level is the same of the enclosing composite
+       type.
+
+       * sem_ch3.adb (Analyze_Component_Declaration): In case of components
+       that are anonymous access types the level of accessibility depends on
+       the enclosing type declaration. In order to have this information, set
+       the scope of the anonymous access type to the enclosing record type
+       declaration.
+       (Array_Type_Declaration): In case of components that are anonymous
+       access types the level of accessibility depends on the enclosing type
+       declaration. In order to have this information, set the scope of the
+       anonymous access type to the enclosing array type declaration.
+
+       * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
+       access type.
+
+       * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
+       renaming of anonymous access-to-constant types allowed if and only if
+       the renamed object is access-to-constant.
+
+       * sem_util.adb (Type_Access_Level): In case of anonymous access types
+       that are component_definition or discriminants of a nonlimited type,
+       the level is the same as that of the enclosing component type.
+
+2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
+
+       * sem_elim.adb: Some minor code reorganization from code reading. Fix
+       misprint in the function name (File_Name_Match).
+
+2004-04-23  Laurent GUERBY <laurent@guerby.net>
+
+       * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
+       install.
+
+2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
+
+2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
+
+       * adaint.c (__gnat_try_lock): No longer requires that the parent
+       directory be writable, the directory itself is enough.
+       (gnat_is_absolute_path): Change profile, so that the call from
+       GNAT.OS_Lib can be made more efficient.
+
+       * adaint.h (gnat_is_absolute_path): Change profile, so that the call
+       from GNAT.OS_Lib can be made more efficient.
+
+       * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
+       one copy of the file name. Found by code reading.
+
+2004-04-23  Vincent Celier  <celier@gnat.com>
+
+       * gnat_ugn.texi: Add documentation for gnatmake switch -eL
+       Correct documentation on gnatmake switches transmitted to the compiler
+
+       * ali.ads: Minor comment fix
+
+2004-04-23  Javier Miranda  <miranda@gnat.com>
+
+       * sem_ch6.adb: (Confirming Types): Code cleanup
+
+       * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
+       subprogram types: E_Anonymous_Access_Subprogram_Type and
+       E_Anonymous_Access_Protected_Subprogram_Type.
+
+2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
+       whether a pragma All_Calls_Remote applies to the subprogram on which
+       'Access is taken.
+       No functional change is introduced by this revision; the new parameter
+       will be used to allow calls to local RCI subprograms to be optimized
+       to not use the PCS in the case where no pragma All_Calls_Remote applies,
+       as is already done in the PolyORB implementation of the DSA.
+
+       * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
+       whether a pragma All_Calls_Remote applies to the subprogram on which
+       'Access is taken.
+       No functional change is introduced by this revision; the new parameter
+       will be used to allow calls to local RCI subprograms to be optimized
+       to not use the PCS in the case where no pragma All_Calls_Remote applies,
+       as is already done in the PolyORB implementation of the DSA.
+
+2004-04-23  Robert Dewar  <dewar@gnat.com>
+
+       * Makefile.rtl: Add entry for s-addope.o in run time library list
+       * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
+       * s-addope.ads, s-addope.adb: New files.
+
+       * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
+       s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
+       s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
+       System.Address to be non-private and signed.
+
+       * sem_elim.adb: Minor reformatting (fairly extensive)
+       Some minor code reorganization from code reading
+       Add a couple of ??? comments
+
+2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
+       (tree_transform, case N_If_Statement): Remove non-determinism.
+
+       * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
+
+2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
+
+       * gnat_rm.texi: Small fixes in the changes made in the 'pragma
+       Eliminate' section.
+
+       * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
+       no longer used as a parameter name for Eliminate pragma).
+
+2004-04-22  Laurent GUERBY <laurent@guerby.net>
+
+       PR optimization/14984
+       PR optimization/14985
+       * trans.c (gigi): Fix non determinism leading to bootstrap
+       comparison failures.
+
+2004-04-21  Pascal Obry  <obry@gnat.com>
+
+       * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
+       passed to spawnvp() to properly handle program pathname with spaces on
+       Win32.
+
+2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
+
+       * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
+       (Allocate, Deallocate, Free_Physically): Make sure the tasks are
+       unlocked in case of exceptions.
+
+2004-04-21  Joel Brobecker  <brobecker@gnat.com>
+
+       * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
+       This function does not exist anymore.
+
+2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
+
+       * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
+
+       * link.c: Move variables to the __gnat name space.
+
+       * Makefile.in: list link.o explicitly when needed.
+
+       * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
+
+2004-04-21  Javier Miranda  <miranda@gnat.com>
+
+       * einfo.adb (Original_Access_Type): New subprogram
+       (Set_Original_Access_Type): New subprogram
+       (Write_Field21_Name): Write the name of the new field
+
+       * einfo.ads (Original_Access_Type): New field present in access to
+       subprogram types.
+       Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
+       E_Anonymous_Access_Protected_Subprogram_Type.
+
+       * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
+       subprogram types.
+
+       * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
+       to anonymous access to subprogram types.
+
+       * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
+       to subprogram types.
+
+       * sem_ch3.adb (Access_Definition): Complete decoration of entities
+       corresponding to anonymous access to subprogram types.
+       (Analyze_Component_Declaration): Add new actual to the call to
+       subprogram replace_anonymous_access_to_protected_subprogram.
+       (Array_Type_Declaration): Add new actual to the call to subprogram
+       replace_anonymous_access_to_protected_subprogram.
+       (Process_Discriminants): Add new actual to the call to subprogram
+       replace_anonymous_access_to_protected_subprogram.
+       (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
+
+       * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
+       formal.
+
+       * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
+       access to subprogram types.
+
+       * sem_util.adb (Has_Declarations): Addition of package_specification
+       nodes.
+
+2004-04-21  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
+       inlined flags to renamed entity only if in current unit.
+
+2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
+
+       * s-parint.ads: Add DSA implementation marker.
+
+       * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
+       value of System.Partition_Interface.DSA_Implementation to determine
+       what version of the distributed systems annex is available (no
+       implementation, GLADE, or PolyORB).
+
+2004-04-21  Joel Brobecker  <brobecker@gnat.com>
+
+       * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
+
+2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
+       with new type if alias sets differ.
+       Fixes ACATS c41103b.
+
+2004-04-21  Vincent Celier  <celier@gnat.com>
+
+       * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
+       Add array Lang_Args for the language specific compiling argument
+       switches.
+
+       * gnat_ugn.texi: Explain in more details when a library is rebuilt.
+
+2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
+
+       * gnat_rm.texi: Update the descripton of the Eliminate pragma
+       according to the recent changes in the format of the parameters of the
+       pragma (replacing Homonym_Number with Source_Location).
+
+2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * 5isystem.ads: Removed, unused.
+
+       * gnat_rm.texi: Redo 1.13 change.
+
+2004-04-19  Robert Dewar  <dewar@gnat.com>
+
+       * s-stoele.ads: Clean up definition of Storage_Offset (the new
+       definition is cleaner, avoids the kludge of explicit Standard operator
+       references, and also is consistent with a visible System.Address with
+       no visible operations.
+
+       * s-geveop.adb: Add declarations to avoid assumption of visible
+       operations on type System.Address (since these might not be available
+       if Address is a non-private type for which the operations
+       are made abstract).
+
+       * sem_eval.adb: Minor reformatting
+
+       * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
+       s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
+       reformatting (new function spec format).
+
+       * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
+       s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
+       s-caun64.adb: Add declarations to avoid assumption of visible
+       operations on type System.Address (since these might not be available
+       if Address is a non-private type for which the operations are made
+       abstract).
+
+       * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
+
+       * exp_intr.adb: Minor comment update
+
+       * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
+
+       * 5omastop.adb: Add declarations to avoid assumption of visible
+       operations on type System.Address (since these might not be available
+       if Address is a non-private type for which the operations
+       are made abstract).
+
+2004-04-19  Vincent Celier  <celier@gnat.com>
+
+       * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
+
+       * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
+       defaulted to Ada.
+
+       * prj-proc.adb (Process): New Boolean parameter Process_Languages,
+       defaulted to Ada.
+       Call Check with Process_Languages.
+       (Check): New Boolean parameter Process_Languages. Call Recursive_Check
+       with Process_Languages.
+       (Recursive_Check): New Boolean parameter Process_Languages. Call
+       Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
+       Process_Languages.
+
+       * prj-proc.ads (Process): New Boolean parameter Process_Languages,
+
+       * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
+       parameter Ada_Main, defaulted to True.
+       Check for Ada specific characteristics only when Ada_Main is True.
+
+       * opt.ads: (Follow_Links): New Boolean flag for gnatmake
+
+       * prj.adb: (Project_Empty): Add new Project_Data components.
+
+       * prj.ads: New types and tables for non Ada languages.
+       (Project_Data): New components Languages, Impl_Suffixes,
+       First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
+       Include_Path, Include_Data_Set.
+
+       * prj-env.ads, prj-env.adb: Minor reformatting
+
+       * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
+       Put subprograms in alphabetical order
+
+       * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
+       defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
+       Opt.Follow_Links.
+
+       * mlib-prj.adb: Back out modification in last version, as they are
+       incorrect.
+       (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
+
+       * make.adb: (Mains): Moved to package Makeutl
+       (Linker_Opts): Moved to package Makeutl
+       (Is_External_Assignment): Moved to package Makeutl
+       (Test_If_Relative_Path): Moved to package Makeutl
+       (Gnatmake): Move sorting of linker options to function
+       Makeutl.Linker_Options_Switches.
+
+       * makeutl.ads, makeutl.adb: New files.
+
+       * Makefile.in: Add makeutl.o to the object files for gnatmake
+
+       * makeusg.adb: Add line for new switch -eL.
+
+       * gnatls.adb (Image): New function.
+       (Output_Unit): If in verbose mode, output the list of restrictions
+       specified by pragmas Restrictions.
+
+       * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
+       Text_IO.
+
+       * a-calend.adb (Split): Shift the date by multiple of 56 years, if
+       needed, to put it in the range 1970 (included) - 2026 (excluded).
+       (Time_Of): Do not shift Unix_Min_Year (1970).
+       Shift the date by multiple of 56 years, if needed, to put it in the
+       range 1970 (included) - 2026 (excluded).
+
+       * adaint.h, adaint.c (__gnat_set_executable): New function.
+
+2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
+       and pop GC context.
+       (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
+       (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
+       (tree_transform, case N_Procedure_Call_Statement): Build a tree.
+       (tree_transform, case N_Code_Statement): Likewise.
+       (gnat_expand_stmt, case LABEL_STMT): Don't look at
+       LABEL_STMT_FIRST_IN_EH.
+       (gnat_expand_stmt, case ASM_STMT): New case.
+
+       * utils2.c (build_unary_op): Properly set TREE_READONLY of
+       UNCONSTRAINED_ARRAY_REF.
+
+       * utils.c (poplevel): Temporarily push/pop GC context around inline
+       function expansion.
+
+       * decl.c (maybe_variable): Properly set TREE_READONLY of
+       UNCONSTRAINED_ARRAY_REF.
+       (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
+
+       * ada-tree.def: (ASM_STMT): New.
+
+       * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
+       (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
+       ASM_STMT_INPUT): New.
+       (ASM_STMT_CLOBBER): Likewise.
+
+2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
+
+       * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
+       general rcheck mechanism to raise Program_Error for E.4(18), instead
+       of a custom raiser in System.Partition_Interface.
+       Part of general cleanup work before PolyORB integration.
+
+       * snames.ads, snames.adb: Add new runtime library entities and names
+       for PolyORB DSA.
+
+       * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
+       exp_dist.
+       (Build_Subprogram_Id): New subprogram provided by exp_dist
+       Code reorganisation in preparation for PolyORB integration.
+
+       * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
+       exp_dist.
+       (Build_Subprogram_Id): New subprogram provided by exp_dist
+
+       * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
+       actual parameter types for call to dereference of an
+       access-to-subprogram type.
+
+       * rtsfind.ads: Add new runtime library entities and names for PolyORB
+       DSA.
+
+       * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
+       instead, which has the same behaviour here since we never pass it a
+       NULL pointer.
+
+       * link.c (run_path_option, Solaris case): Use -Wl, as for other
+       platforms.
+
+       * Makefile.in: adjust object file lists for gnatlink and gnatmake
+       to account for new dependency upon Interfaces.C.Strings + link.o
+       For x86 FreeBSD, use 86numaux.
+
+       * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
+       from Mlib.Tgt to Mlib.
+
+       * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
+       target-independent.
+
+       * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
+       target-specific versions of this subprogram, now implemented as a
+       target-independent function in Mlib.
+
+       * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
+       5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
+       (Linker_Library_Path_Option): Remove target-specific versions of this
+       subprogram, now implemented as a target-independent function in Mlib.
+
+       * atree.adb: (Allocate_Initialize_Node): New subprogram.
+       Factors out node table slots allocation.
+       (Fix_Parents): New subprogram.
+       Encapsulate the pattern of fixing up parent pointers for syntactic
+       children of a rewritten node.
+       (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
+       (Rewrite): Use New_Copy when creating saved copy of original node.
+       (Replace): Use Copy_Node to copy nodes.
+
+2004-04-19  Javier Miranda  <miranda@gnat.com>
+
+       * sprint.adb (Sprint_Node_Actual): Give support to the new
+       Access_To_Subprogram node available in Access_Definition nodes. In
+       addition, give support to the AI-231 node fields: null-exclusion,
+       all-present, constant-present.
+
+       * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
+
+       * sinfo.ads, sinfo.adb:
+       New field Access_To_Subprogram_Definition in Access_Definition nodes
+
+       * sem_ch6.adb (Process_Formals): Move here the code that creates and
+       decorates internal subtype declaration corresponding to the
+       null-excluding formal. This code was previously in Set_Actual_Subtypes.
+       In addition, carry out some code cleanup on this code. In case of
+       access to protected subprogram call
+       Replace_Anonymous_Access_To_Protected_Subprogram.
+       (Set_Actual_Subtypes): Code cleanup.
+
+       * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
+       Find_Type in case of anonymous access renamings. Add warning in case of
+       null-excluding attribute used in anonymous access renaming.
+
+       * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
+       subprogram
+
+       * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
+       subprogram.
+       (Access_Definition): In case of anonymous access to subprograms call
+       the corresponding semantic routine to decorate the node.
+       (Access_Subprogram_Declaration): Addition of some comments indicating
+       some code that probably should be added here. Detected by comparison
+       with the access_definition subprogram.
+       (Analyze_Component_Declaration): In case of access to protected
+       subprogram call Replace_Anonymous_Access_To_Protected.
+       (Array_Type_Declaration): In case of access to protected subprogram call
+       Replace_Anonymous_Access_To_Protected_Subprogram.
+       (Process_Discriminants): In case of access to protected subprogram call
+       Replace_Anonymous_Access_To_Protected_Subprogram.
+
+       * par.adb (P_Access_Definition): New formal that indicates if the
+       null-exclusion part was present.
+       (P_Access_Type_Definition): New formal that indicates if the caller has
+       already parsed the null-excluding part.
+
+       * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
+       (P_Identifier_Declarations): Code cleanup and give support to renamings
+       of anonymous access to subprogram types.
+       (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
+       (P_Array_Type_Definition): Give support to AI-254.
+       (P_Component_Items): Give support to AI-254.
+       (P_Access_Definition): New formal that indicates if the header was
+       already parsed by the caller.
+       (P_Access_Type_Definition): New formal that indicates if the caller has
+       already parsed the null-excluding part.
+
+       * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
+       call to P_Access_Definition.
+
+2004-04-19  Geert Bosch  <bosch@gnat.com>
+
+       * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
+       the delicate semantics of floating-point to integer conversion.
+       (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
+
+       * eval_fat.adb (Machine_Mantissa): Moved to spec.
+       (Machine_Radix): New function.
+
+       * eval_fat.ads (Machine_Mantissa): Moved from body for use in
+       conversion checks.
+       (Machine_Radix): New function also for use in conversion checks.
+
+2004-04-19  Ed Schonberg  <schonberg@gnat.com>
+
+       * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
+
+       * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
+       to decorate the access-to-protected subprogram and the equivalent type.
+
+       * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
+       to anonymous access to subprogram types.
+
+       * exp_ch4.adb (Expand_N_In): Preserve Static flag before
+       constant-folding, for legality checks in contexts that require an RM
+       static expression.
+
+       * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
+       temporary but stack checking is not enabled, increment serial number
+       to so that symbol generation is consistent with and without stack
+       checking.
+
+       * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
+       independent on whether stack checking is enabled, caller must check
+       the corresponding flag.
+
+       * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
+       range checks.
+       (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
+       parent if it has discriminants.
+       (Build_Derived_Private_Type): Constructed full view does
+       not come from source.
+       (Process_Discriminants): Default discriminants on a tagged type are
+       legal if this is the internal completion of a private untagged
+       derivation.
+
+       * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
+       no constraint checks, because it corresponds to an existing object.
+
+       * sem_prag.adb (Process_Convention): Pragma applies
+       only to subprograms in the same declarative part, i.e. the same unit,
+       not the same scope.
+
+       * sem_res.adb (Valid_Conversion): In an instance or inlined body,
+       ignore type mismatch on a numeric conversion if expression comes from
+       expansion.
+
+2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
+
+       * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
+       Homonym_Number parameter, add processing for Source_Location parameter
+       corresponding.
+       (Check_Eliminated): Remove the check for homonym numbers, add the check
+       for source location traces.
+
+       * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
+       with Arg_Source_Location corresponding to the changes in the format of
+       the pragma.
+
+       * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
+       Eliminate pragma corresponding to the changes in the format of the
+       pragma: Homonym_Number is replaced with Source_Location, two ways of
+       distinguishing homonyms are mutially-exclusive.
+
+2004-04-19  Joel Brobecker  <brobecker@gnat.com>
+
+       * get_targ.ads (Get_No_Dollar_In_Label): Remove.
+
+       * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
+       No_Dollar_In_Label, no longer necessary, as it is always True.
+       (Strip_Suffixes): Likewise.
+
+2004-04-19  Gary Dismukes  <dismukes@gnat.com>
+
+       * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
+       modulus for compatibility with size clause on targets with 16-bit
+       Integer.
+
+       * layout.adb (Discrimify): In the case of private types, set Vtyp to
+       full type to fix type mismatches on calls to size functions for
+       discriminant-dependent array components.
+
+2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
+
+       * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
+       lib.
+
+2004-04-19  Pascal Obry  <obry@gnat.com>
+
+       * mdll-utl.adb (Locate): New version is idempotent.
+
+2004-04-17  Laurent Guerby <laurent@guerby.net>
+
+       PR ada/14988 (partial)
+       * impunit.adb: Fix typo.
+
+2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
+       and install-rts-cert targets.  Remove all gnatlib and gnattools
+       targets and all other rts-* targets (moved to libada).  Remove (now)
+       unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
+       TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
+
+2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * trans.c (tree_transform): Shortcut returning error_mark_node for
+       statements in annotate_only_mode.
+       (tree_transform, case N_Label, case N_Return_Statement,
+       N_Goto_Statement): Make statement tree instead of generating code.
+       (tree_transform, case N_Assignment_Statement): No longer check
+       type_annotate_only.
+       (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
+       RETURN_STMT): New.
+       (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
+       New fcns.
+       (gnat_to_gnu): Collect any RTL generated and deal with it.
+       (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
+       (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
+       (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
+
+       * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
+
+       * ada-tree.def (EXPR_STMT): Fix typo in name.
+       (BLOCK_STMT, IF_STMT): New nodes.
+
+       * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
+       LABEL_STMT_FIRST_IN_EH): New macros.
+       (RETURN_STMT_EXPR): Likewise.
+
+       * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
+       IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
+
+2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
+
+       * atree.ads: Correct documentation on extended nodes.
+
+       * link.c: Set run_path_option for FreeBSD.
+
+2004-04-08  Vincent Celier  <celier@gnat.com>
+
+       * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
+       one of the ALI file, do not link with DEC lib.
+
+       * par.adb Remove the last two characters ("%s" or "%b") when checking
+       if a language defined unit may be recompiled.
+
+2004-04-08  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
+       removal of abstract operation leaves no possible interpretation for
+       expression.
+
+       * sem_eval.adb (Eval_Qualified_Expression): Use
+       Set_Raises_Constraint_Error on node when needed, so that it does not
+       get optimized away by subsequent optimizations.
+
+       * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
+       operands even when they are not wrapped in a type conversion.
+
+2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
+
+       * sem_prag.adb (Set_Exported): Warn about making static as result of
+       export only when the export is coming from source. This may be not
+       be true e.g. on VMS where we expand export pragmas for exception codes
+       together with imported or exported exceptions, and we don't want the
+       user to be warned about something he didn't write.
+
+2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
+       duplication between normal entities and those declared as renamings.
+       No functional change.
+
+       * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
+       inline functions returning an unconstrained result.
+
+2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
+       conform to what other front-ends do.
+
+2004-04-08  Doug Rupp  <rupp@gnat.com>
+
+       * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
+       libraries.
+
+2004-04-06  Pascal Obry  <obry@gnat.com>
+
+       * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
+
+       * osint.adb (Program_Name): Do not look past a directory separator.
+
+2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
+
+       * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
+
+       * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
+       requirement for preserving a copy of the original assignment node.
+
+       * sinfo.ads: Update comment (Original_Tree -> Original_Node).
+
+2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
+
+       (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
+       when supported.
+
+2004-04-06  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
+       operator calls in functional notation, and apply
+       Universal_Interpretation to operands, not to their type.
+
+2004-04-06  Robert Dewar  <dewar@gnat.com>
+
+       * 5wdirval.adb: Minor reformatting
+
+2004-04-06  Ed Falis  <falis@gnat.com>
+
+       * gnat_rm.texi: Improve a reference to the GCC manual
+
+2004-04-05  Vincent Celier  <celier@gnat.com>
+
+       * adaint.h, adaint.c: Add function __gnat_named_file_length
+
+       * impunit.adb: Add Ada.Directories to the list
+
+       * Makefile.in: Add VMS and Windows versions of
+       Ada.Directories.Validity package body.
+
+       * Makefile.rtl: Add a-direct and a-dirval
+
+       * mlib-tgt.ads: Minor comment update.
+
+       * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
+       a-direct.ads, a-direct.adb: New files.
+
+2004-04-05  Vincent Celier  <celier@gnat.com>
+
+       PR ada/13620
+       * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
+       just to the compiler.
+
+2004-04-05  Robert Dewar  <dewar@gnat.com>
+
+       * a-except.adb (Exception_Name_Simple): Make sure lower bound of
+       returned string is 1.
+
+       * ali-util.adb: Use proper specific form for Warnings (Off, entity)
+
+       * eval_fat.ads: Minor reformatting
+
+       * g-curexc.ads: Document that lower bound of returned string values
+       is always one.
+
+       * gnatlink.adb: Add ??? comment for previous change
+       (need to document why this is VMS specific)
+
+       * s-stoele.ads: Minor reformatting
+
+       * tbuild.ads: Minor reformatting throughout (new function specs)
+
+       * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
+       after WITH.
+
+       * scng.adb: Minor reformatting
+
+2004-04-05  Geert Bosch  <bosch@gnat.com>
+
+       * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
+       (Leading_Part): Still perform truncation to machine number if the
+       specified radix_digits is greater or equal to machine_mantissa.
+
+2004-04-05  Javier Miranda  <miranda@gnat.com>
+
+       * par-ch3.adb: Complete documentation of previous change
+       Correct wrong syntax documentation of the OBJECT_DECLARATION rule
+       (aliased must appear before constant).
+
+       * par-ch4.adb: Complete documentation of previous change.
+
+       * par-ch6.adb: Complete documentation of previous change.
+
+       * sinfo.ads: Fix typo in commment.
+
+2004-04-05  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch3.adb (Inherit_Components): If derived type is private and has
+       stored discriminants, use its discriminants to constrain parent type,
+       as is done for non-private derived record types.
+
+       * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
+       Ada 2005 AI-310: an abstract non-dispatching operation is not a
+       candidate interpretation in an overloaded call.
+
+       * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
+       expression is Null and target type is not an access type (e.g. a
+       non-private address type).
+
+2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
+
+       * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
+       statement whose right-hand side is an inlined call, save a copy of the
+       original assignment subtree to preserve enough consistency for
+       Analyze_Assignment to proceed.
+
+       * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
+       complete assignment subtree which is now unnecessary, as the expansion
+       of inlined call has been improved to preserve a consistent assignment
+       tree.  Note_Possible_Modification must be called only
+       after checks have been applied, or else unnecessary checks will
+       be generated.
+
+       * sem_util.adb (Note_Possible_Modification): Reorganise the handling
+       of explicit dereferences that do not Come_From_Source:
+        - be selective on cases where we must go back to the dereferenced
+          pointer (an assignment to an implicit dereference must not be
+          recorded as modifying the pointer);
+        - do not rely on Original_Node being present (Analyze_Assignment
+          calls Note_Possible_Modification on a copied tree).
+
+       * sem_warn.adb (Check_References): When an unset reference to a pointer
+       that is never assigned is encountered, prefer '<pointer> may be null'
+       warning over '<pointer> is never assigned a value'.
+
+2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
+
+       * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
+       the ABI.
+
+2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
+
+       * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
+       libexc. We currently don't reference anything in this library and
+       linking it in triggers linker warnings we don't want to see.
+
+       * init.c: Update comments.
+
+2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
+       * utils.c (create_field_decl): Likewise.
+       * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
+
+2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
+       Replace ifinfo by ifnottex, to make makeinfo --html happy again.
+       Add info directory entry and category.
+
+2004-04-02  Jan Hubicka  <jh@suse.cz>
+
+       * utils.c: Include function.h
+       (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
+
+2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
+
+       PR ada/14150
+       * Make-lang.in: Clean up generation of documentation
+
+       * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
+
+       * xgnatug.adb: Removed, replaced by xgnatugn.adb
+
+       * xgnatugn.adb: Replaces xgnatug.adb
+
+       * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
+
+       * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
+
+       * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+       gnat_ug_wnt.texi: Removed.
+
+2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * utils2.c: Update copyright notice.
+
+2004-04-01  Robert Dewar  <dewar@gnat.com>
+
+       * checks.adb: Minor reformatting throughout
+       Note that prev checkin added RM reference to alignment warning
+
+2004-04-01  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_aggr.adb (Get_Component_Val): Treat a string literal as
+       non-static when building aggregate for bit-packed array.
+
+       * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
+       function call that is itself the actual in a procedure call, build
+       temporary for it.
+
+       * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
+       a string literal, create a temporary for it, constant folding only
+       handles scalars here.
+
+2004-04-01  Vincent Celier  <celier@gnat.com>
+
+       * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
+       Error_Msg_SP): New empty procedures to instantiate the Scanner.
+       (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
+       tokens.
+       (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
+       (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
+       and get the checksum.
+
+       * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
+       already in the Q.
+       Increase the Marking_Label at the end of the Multiple_Main_Loop,
+       instead of at the beginning.
+
+       * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
+       directly.
+       (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
+       on VMS.
+
+       * osint.ads (Multi_Unit_Index_Character): New Character global variable
+
+       * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
+       not '~' directly.
+
+       * par.adb: Remove test on file name to detect language defined units.
+       Add test on unit name, after parsing, to detect language defined units
+       that are not compiled with -gnatg (except System.RPC and its children)
+
+       * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
+       following units without style checking.
+
+       * switch-c.adb: Change -gnatC to -gnateI
+
+       * usage.adb: Document new switch -gnateInnn
+
+       * scng.adb (Accumulate_Token_Checksum): New procedure
+       (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
+       word or literal number.
+       (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
+       numbers.
+
+2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
+
+       * a-tasatt.adb,
+       g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
+       switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
+       5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
+       5vtpopde.adb: Add missing 'constant' keywords.
+
+2004-04-01  Javier Miranda  <miranda@gnat.com>
+
+       * par-ch4.adb: (P_Allocator): Code cleanup
+
+       * sem_ch3.adb (Access_Definition): Properly set the null-excluding
+       attribute.
+
+       * sinfo.ads: Complete documentation of previous change
+
+2004-04-01  Pascal Obry  <obry@gnat.com>
+
+       * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
+       only on VMS.  This special handling was done because an old GNU/ld bug
+       on Windows which has been fixed.
+
+2004-04-01  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * decl.c (gnat_to_gnu_entity, make_type_from_size):
+       Use TYPE_UNSIGNED, not TREE_UNSIGNED.
+       * trans.c (tree_transform, convert_with_check): Likewise.
+       * utils.c (gnat_signed_or_unsigned_type): Likewise.
+       (build_vms_descriptor, unchecked_convert): Likewise.
+       * utils2.c (nonbinary_modular_operation): Likewise.
+
+2004-03-29  Javier Miranda  <miranda@gnat.com>
+
+       * checks.adb (Null_Exclusion_Static_Checks): New subprogram
+       (Install_Null_Excluding_Check): Local subprogram that determines whether
+       an access node requires a runtime access check and if so inserts the
+       appropriate run-time check.
+       (Apply_Access_Check): Call Install_Null_Excluding check if required
+       (Apply_Constraint_Check): Call Install_Null_Excluding check if required
+
+       * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
+
+       * einfo.ads: Fix typo in comment
+
+       * exp_ch3.adb (Build_Assignment): Generate conversion to the
+       null-excluding type to force the corresponding run-time check.
+       (Expand_N_Object_Declaration): Generate conversion to the null-excluding
+       type to force the corresponding run-time check.
+
+       * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
+       the null-excluding type to force the corresponding run-time check.
+
+       * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
+       case of access types unless they have the null-excluding attribute.
+
+       * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
+       part.
+
+       * exp_util.ads: Fix typo in comment
+
+       * par.adb (P_Null_Exclusion): New subprogram
+       (P_Subtype_Indication): New formal that indicates if the null-excluding
+       part has been scanned-out and it was present
+
+       * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
+
+       * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
+       (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
+       type to force the corresponding run-time check
+       (Resolve_Aggregate): Propagate the null-excluding attribute to the array
+       components
+       (Resolve_Array_Aggregate): Carry out some static checks
+       (Resolve_Record_Aggregate.Get_Value): Carry out some static check
+
+       * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
+       attribute must be set only if specified by means of the null-excluding
+       part. In addition, we must also propagate the access-constant attribute
+       if present.
+       (Access_Subprogram_Declaration, Access_Type_Declaration,
+       Analyze_Component_Declaration, Analyze_Object_Declaration,
+       Array_Type_Declaration, Process_Discriminants,
+       Analyze_Subtype_Declaration): Propagate the null-excluding attribute
+       and carry out some static checks.
+       (Build_Derived_Access_Type): Set the null-excluding attribute
+       (Derived_Type_Declaration, Process_Subtype): Carry out some static
+       checks.
+
+       * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
+
+       * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
+
+       * sem_ch6.adb (Process_Formals): Carry out some static checks.
+       (Set_Actual_Subtypes): Generate null-excluding subtype if the
+       null-excluding part was present; it is not required to be done here in
+       case of anonymous access types.
+       (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
+       value.
+
+       * sem_res.adb (Resolve_Actuals): Carry out some static check
+       (Resolve_Null): Allow null in anonymous access
+
+       * sinfo.adb: New subprogram Null_Exclusion_Present
+       All_Present and Constant_Present available on access_definition nodes
+
+       * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
+       object_declaration, derived_type_definition, component_definition,
+       discriminant_specification, access_to_object_definition,
+       access_function_definition, allocator, access_procedure_definition,
+       access_definition, parameter_specification, All_Present and
+       Constant_Present flags available on access_definition nodes.
+
+2004-03-29  Robert Dewar  <dewar@gnat.com>
+
+       * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
+       gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
+       opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
+       par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
+       sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
+       sem_prag.adb: Updates to handle multiple units/file
+
+       * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
+
+       * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
+       sem_util.adb: Minor reformatting
+
+       * sem_ch12.adb: Add comment for previous change
+
+2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
+
+       * osint.adb (Executable_Prefix): Set Exec_Name to the current
+       executable name when not initialized. Otherwise, use its current value.
+
+       * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
+       initialize it to another executable name than the current one. This
+       allows to configure paths for an executable name (gnatmake) different
+       from the current one (gnatdist).
+
+2004-03-29  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_ch6.adb (Expand_Call): A call to a function declared in the
+       current unit cannot be inlined if it appears in the body of a withed
+       unit, to avoid order of elaboration problems in gigi.
+
+       * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
+       information for protected (wrapper) operation as well, to simplify gdb
+       use.
+
+       * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
+       protected body, indicate that the entity for the generated spec comes
+       from source, to ensure that references are properly generated for it.
+       (Build_Body_To_Inline): Do not inline a function that returns a
+       controlled type.
+
+       * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
+       apply convention to homonyms that are declared explicitly.
+
+       * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
+       that renames an equality operator and the operands are overloaded,
+       resolve them with the declared formal types, before rewriting as an
+       operator.
+
+2004-03-29  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
+
+       * memtrack.adb: Log realloc calls, which are treated as free followed
+       by alloc.
+
+2004-03-25  Vincent Celier  <celier@gnat.com>
+
+       * prj-makr.adb (Process_Directories): Detect when a file contains
+       several units. Do not include such files in the config pragmas or
+       in the naming scheme.
+
+       * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
+       Resolve links only when not in Trusted_Mode.
+       (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
+       Do not resolve links for the display names.
+
+       * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
+       resolve links when computing the display names.
+
+2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
+       attribute reference does not denote a subtype, it can be any
+       expression that has a classwide type, potentially after an implicit
+       dereference.  In particular, the prefix can be a view conversion for
+       a classwide type (for which Is_Object_Reference holds), but it can
+       also be a value conversion for an access-to-classwide type. In the
+       latter case, there is an implicit dereference, and the original node
+       for the prefix does not verify Is_Object_Reference.
+
+       * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
+       conversion of a discriminant-dependent component of a mutable object
+       is one itself.
+
+2004-03-25  Ed Schonberg  <schonberg@gnat.com>
+
+       * freeze.adb (Freeze_Entity): When an inherited subprogram is
+       inherited, has convention C, and has unconstrained array parameters,
+       place the corresponding warning on the derived type declaration rather
+       than the original subprogram.
+
+       * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
+       indication on renaming declaration, if formal has a box and actual
+       is absent.
+
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
+       determine whether to generate an implicit or explicit reference to
+       the renamed entity.
+
+       * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
+       subprogram renaming comes from a defaulted formal subprogram in an
+       instance.
+
+2004-03-25  Gary Dismukes  <dismukes@gnat.com>
+
+       * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
+       value expressions to ensure that calls within a component definition
+       will be checked (since those are evaluated during the record type's
+       elaboration).
+
+2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * s-tpobop.adb: Code clean up:
+       (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
+       code.
+       (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
+
+2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * Makefile.in: Clean up in the ravenscar run time.
+
+2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
+       of No_Strict_Aliasing to build_pointer_type_for_mode.
+       * utils.c (update_pointer_to): Walk pointer and ref chains.
+
+2004-03-22  Cyrille Comar  <comar@act-europe.fr>
+
+       * ali.ads: Fix Comment about Dynamic_Elab.
+
+       * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
+       Has_RACW, Is_Generic, etc.)
+       (Output_Object, Gnatls): Take into account ALI files not attached to
+       an object.
+
+2004-03-22  Vincent Celier  <celier@gnat.com>
+
+       * gprep.adb: Change all String_Access to Name_Id
+       (Is_ASCII_Letter): new function
+       (Double_File_Name_Buffer): New procedure
+       (Preprocess_Infile_Name): New procedure
+       (Process_Files): New procedure
+       (Gnatprep): Check if output and input are existing directories.
+       Call Process_Files to do the real job.
+
+2004-03-22  Robert Dewar  <dewar@gnat.com>
+
+       * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
+       s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
+
+2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
+
+       * scn.adb (Contains): Add check for EOF, is needed for a degenerated
+       case when the source contains only comments.
+
+2004-03-22  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
+       declaration for a child subprogram body that acts as a spec, indicate
+       that the entity in the declaration needs debugging information.
+
+       * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
+       full view if the subtype is created for a constrained record component;
+       gigi has enough information to construct the record, and there is no
+       place in the tree for the declaration.
+
+       * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
+       serial number for the dummy body that is built for analysis, to avoid
+       inconsistencies in the generation of internal names when compiling
+       with -gnatN.
+
+2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem_util.adb (Is_Object_Reference): A view conversion denotes an
+       object.
+
+2004-03-22  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
+       * trans.c (tree_transform, emit_index_check): Likewise.
+       * utils.c (build_template): Likewise.
+       (max_size, convert): Remove handling of WITH_RECORD_EXPR.
+       (maybe_unconstrained_array, unchecked_convert): Likewise.
+       * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
+       (build_unary_op): Likewise.
+       (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
+       (fill_vms_descriptor): Likewise.
+       (build_call_alloc_dealloc): Likewise.
+       ALIGN is unsigned.
+       * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
+
+2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR other/14630
+       * gnat_ug.texi: Add info directory category and entry.
+       * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+       gnat_ug_wnt.texi: Regenerate.
+
+2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * ada-tree.h: Update copyright notice.
+       Minor reformatting.
+
+2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
+
+       * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
+       as regular exception objects and not as mere integers representing the
+       condition code.  The latter approach required some dynamics to mask off
+       severity bits, which did not fit well into the GCC table based model.
+       (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
+       exception data objects. We don't it and it would conflict with the other
+       external symbol we have to generate for such exceptions.
+
+       * trans.c (tree_transform, case N_Exception_Handler): Remove part of
+       the special code for VMS exceptions, since these are now represented
+       as regular exceptions objects.
+
+2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * decl.c (debug_no_type_hash): Remove.
+       (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
+       * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
+
+2004-03-19  Laurent Guerby <laurent@guerby.net>
+
+       * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
+       aggregate, allows bootstrap from 3.3 on powerpc-darwin.
+
+2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
+       (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
+       (TYPE_RM_SIZE_INT): Directly use type.values.
+       (TREE_LOOP_ID): Clean up check.
+       * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
+       TYPE_VALUES, not TYPE_FIELDS.
+       * trans.c (convert_with_check): Delay access of bounds of basetype
+       until sure is numeric.
+
+2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
+
+       Code clean up:
+       * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
+       5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
+       Specific.Set instead of direct call to e.g pthread_setspecific.
+
+2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
+
+       * adaint.c: Update comments.
+
+       * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
+       GNATLIB_SHARED for FreeBSD.
+
+2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * init.c [VxWorks]: Do not fix the stack size for the environment task.
+       When needed (stack checking) the stack size is retrieved
+       from the VxWorks kernel.
+
+       * Makefile.in: Flag -nostdinc is required when building the run time
+       for avoiding looking for files in the base compiler.
+       Add the VxWorks specific version of the package body for
+       System.Stack_checking.Operations (5zstchop.adb).
+
+       * Make-lang.in: Add the object file for
+       System.Stack_Checking.Operations.
+
+       * Makefile.rtl: Add object file for the package
+       System.Stack_Checking.Operations.
+
+       * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
+
+       * s-stache.ads, s-stache.adb: Move the operations related to stack
+       checking from this package to package System.Stack_Checking.Operations.
+       This way, stack checking operations are only linked in the final
+       executable when using the -fstack-check flag.
+
+2004-03-18  Doug Rupp  <rupp@gnat.com>
+
+       * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
+       Reorganize ifeq's.
+
+       * 5qsystem.ads, 5xcrtl.ads: New files.
+
+2004-03-18  Vincent Celier  <celier@gnat.com>
+
+       * prj.adb (Reset): Reset hash table Files_Htable
+
+       * prj-env.adb (Source_Paths, Object_Paths): New tables.
+       (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
+       the procedures Add_To_Path_File.
+       (Set_Ada_Paths): Accumulate source and object dirs in the tables,
+       making sure that each directory is present only once and, for object
+       dirs, when a directory already present is added, the duplicate is
+       removed and the directory is always put as the last in the table.
+       Write the path files at the end of these accumulations.
+
+       * prj-nmsc.adb (Record_Source): Add source file name in hash table
+       Files_Htable for all sources.
+
+       * prj-proc.adb (Process): Remove restrictions between not directly
+       related extending projects.
+
+2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
+
+       * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
+       (Find_Sources): Minor speed optimization.
+
+       * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
+       parameter Trusted_Mode.
+
+2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
+
+       * scn.adb (Determine_License): Take into account a degenerated case
+       when the source contains only comments.
+
+2004-03-18  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_warn.adb (Check_References): For a warning on a selected
+       component that does not come from source, locate an uninitialized
+       component of the record type to produce a more precise error message.
+
+2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
+
+       * 3zsoccon.ads: Fix multicast options.
+
+       * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
+       in the spec.
+
+2004-03-15  Robert Dewar  <dewar@gnat.com>
+
+       * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
+       pragma used for a private type.
+
+       * lib-xref.adb (Generate_Reference): Do not generate warning if
+       reference is in a different unit from the pragma Unreferenced.
+
+       * 5vtpopde.adb: Minor reformatting
+       Fix casing of To_Task_ID
+
+       * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
+       flag if we have an unchecked conversion to an access type in the same
+       unit.
+
+2004-03-15  Geert Bosch  <bosch@gnat.com>
+
+       * a-ngcoty.adb (Modulus): In alternate formula for large real or
+       imaginary parts, use Double precision throughout.
+
+       * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
+       we want to be able to compile run-time with -gnata for testing, but
+       this may also be instantiated in user code that is compiled with -gnata.
+
+2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
+
+       * s-stalib.ads (Exception_Code): New type, to represent Import/Export
+       codes. Having a separate type for this is useful to enforce consistency
+       throughout the various run-time units.
+       (Exception_Data): Use Exception_Code for Import_Code.
+
+       * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
+       Natural and Integer in various places.
+       (Register_VMS_Exception): Use Base_Code_In to compute the exception code
+       with the severity bits masked off.
+       (Register_VMS_Exception): Handle the additional exception data pointer
+       argument.
+
+       * raise.c (_GNAT_Exception structure): Remove the handled_by_others
+       component, now reflected by an exported accessor.
+       (is_handled_by): New routine to compute whether the propagated
+       occurrence matches some handler choice specification. Extracted out of
+       get_action_description_for, and expanded to take care of the VMS
+       specifities.
+       (get_action_description_for): Use is_handled_by instead of an explicit
+       complex condition to decide if the current choice at hand catches the
+       propagated occurrence.
+
+       * raise.h (Exception_Code): New type for C.
+
+       * rtsfind.ads (RE_Id, RE_Unit_Table): Add
+       System.Standard_Library.Exception_Code, to allow references from the
+       pragma import/export expander.
+
+       * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
+       New accessors to allow easy access to GNAT exception data
+       characteristics.
+       (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
+       redundant Handled_By_Others component, helper for the personality
+       routine which will now be able to call the appropriate exception data
+       accessor instead.
+
+       * cstand.adb (Create_Standard): Adjust the type of the Import_Code
+       component of Standard_Exception_Type to be the closest possible to
+       Exception_Code in System.Standard_Library, that we cannot get at this
+       point. Expand a ??? comment to notify that this type node should
+       probably be rewritten later on.
+
+       * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
+       registration call to include a pointer to the exception object in the
+       arguments.
+
+       * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
+       instead of int and explicit bitmasks.
+
+2004-03-15  Vincent Celier  <celier@gnat.com>
+
+       * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
+       equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
+
+       * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
+       longer needed now that it is in the spec of
+       System.Tasking.Task_Attributes.
+
+       * adaint.h, adaint.c: (__gnat_create_output_file): New function
+
+       * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
+
+       * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
+
+       * make.adb (Gnatmake): Do not check the executable suffix; it is being
+       taken care of in Scan_Make_Arg.
+       (Scan_Make_Arg): Add the executable suffix only if the argument
+       following -o, in canonical case, does not end with the executable
+       suffix.  When in verbose mode and executable file name does not end
+       with executable suffix, output the executable name, in canonical case.
+
+       * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
+       to avoid warnings when instantiating Ada.Task_Attributes.
+       Minor reformating.
+
+       * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
+       in the correct order.
+
+       * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
+       redirect standard output and error to a file for the invocation of the
+       compiler, then read the file.
+
+       * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
+       directory, instead of the Value.
+       (Find_Source_Dirs): Remove useless code & comments.
+
+2004-03-15  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
+       tagged type is inherited, and the parent operation is not frozen yet,
+       force generation of a freeze node for the inherited operation, so the
+       corresponding dispatch entry is properly initialized.
+       (Make_Predefined_Primitive_Specs): Check that return type is Boolean
+       when looking for user-defined equality operation.
+
+       * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
+       boolean when locating primitive equality of tagged component.
+
+       * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
+       bit-aligned field and the right-hand side a string literal, introduce
+       a temporary before expanding assignment into a loop.
+
+       * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
+       priority in full, to ensure that any expanded subepxressions of it are
+       elaborated in the scope of the init_proc.
+
+       * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
+       after object declaration, skipping over code that may have been
+       generated for validity checks.
+
+       * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
+       discriminants, ignore the known discriminants of its full view, if
+       any, to check legality.
+
+       * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
+       component if type has unknown discriminants.
+       (Analyze_Private_Extension_Declaration): Discriminant constraint is
+       null if type has unknown discriminants.
+
+       * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
+       for end label when present.
+
+       * s-fileio.adb (Open): When called with a C_Stream, use given name for
+       temporary file, rather than an empty string.
+
+2004-03-15  Ed Falis  <falis@gnat.com>
+
+       * s-thread.adb: Removed, no longer used.
+
+2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * decl.c (target.h): Now include.
+       (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
+       in new build_pointer_from_mode calls for non-fat/non-thin pointer.
+       (validate_size): For POINTER_TYPE, get smallest size permitted on
+       machine.
+
+       * fe.h: Sort Einfo decls and add Set_Mechanism.
+
+       * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
+       (ada/decl.o): Depends on target.h.
+
+       * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
+       FUNCTION_BOUNDARY; always use TYPE_ALIGN.
+
+2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
+
+       * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
+
+       * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
+       Insert_Dereference_Action when rewriting an implicit dereference into
+       an explicit one, this will be taken care of during expansion of the
+       explicit dereference.
+       (Expand_N_Slice): Same. Always do the rewriting, even for the case
+       of non-packed slices, since the dereference action generated by
+       expansion of the explicit dereference is needed in any case.
+       (Expand_N_Selected_Component): When rewriting an implicit dereference,
+       analyze and resolve the rewritten explicit dereference so it is seen
+       by the expander.
+       (Insert_Dereference_Action): This procedure is now called only for the
+       expansion of an N_Explcit_Dereference_Node. Do insert a check even for
+       dereferences that do not come from source (including explicit
+       dereferences resulting from rewriting implicit ones), but do not
+       recursively insert a check for the dereference nodes contained within
+       the check.
+       (Insert_Dereference_Action): Clarify and correct comment.
+
+2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR ada/14131
+       Move language detection to the top level.
+       * config-lang.in: Build by default.
+
+2004-03-05  Robert Dewar  <dewar@gnat.com>
+
+       * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
+
+       * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
+       i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
+       5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
+       5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
+       unchecked conversion to spec to avoid warnings.
+
+       * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
+       to Task_ID
+
+       * 7stpopsp.adb: Correct casing in To_Task_ID call
+
+       * a-strsea.ads, a-strsea.adb: Minor reformatting
+
+       * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
+
+       * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
+       Adjust Max_Msg_Length to be clearly large enough.
+
+       * fe.h: Define In_Same_Source_Unit
+
+       * osint.adb: Add pragma Warnings Off to suppress warnings
+       * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
+       aliasing warnings.
+
+       * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
+
+       * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
+
+       * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
+
+       * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
+
+       * sem_prag.adb: Implement pragma No_Strict_Aliasing.
+
+       * sinfo.ads: Remove obsolete comment on validate unchecked conversion
+       node. We now do generate them for gcc back end.
+
+       * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
+       warning.
+
+       * sinput-c.adb: Fix bad name in header.
+       Add pragma Warnings Off to suppress aliasing warning.
+
+       * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
+
+       * snames.h, snames.ads, snames.adb: Add entry for pragma
+       No_Strict_Aliasing.
+
+2004-03-05  Vincent Celier  <celier@gnat.com>
+
+       * prj-com.ads: Add hash table Files_Htable to check when a file name
+       is already a source of another project.
+
+       * prj-nmsc.adb (Record_Source): Before recording a new source, check
+       if its file name is not already a source of another project. Report an
+       error if it is.
+
+       * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
+       source file name, call gnatpp with all the sources of the main project.
+
+       * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
+       of file names.
+
+       * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
+       NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
+       /RUNTIME_SYSTEM=, converted to --RTS=
+       /NOTABS, converted to -notabs
+
+2004-03-05  Pascal Obry  <obry@gnat.com>
+
+       * make.adb: Minor reformatting.
+
+2004-03-05  Ed Schonberg  <schonberg@gnat.com>
+
+       Part of implemention of AI-262.
+       * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
+
+       * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
+       procedure.
+
+       * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
+       when component type is a partially constrained class-wide subtype.
+       (Constrain_Discriminated_Type): If parent type has unknown
+       discriminants, a constraint is illegal, even if full view has
+       discriminants.
+       (Build_Derived_Record_Type): Inherit discriminants when deriving a type
+       with unknown discriminants whose full view is a discriminated record.
+
+       * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
+       flag, to handle properly derivations of tagged types with unknown
+       discriminants.
+       (Analyze_Package_Spec, Analyze_Package_Body): Install
+       Private_With_Clauses before analyzing private part or body.
+
+       * einfo.ads: Indicate that both Has_Unknown_Discriminants and
+       Has_Discriminants can be true for a given type (documentation).
+
+2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * s-restri.ads: Fix license (GPL->GMGPL).
+
+       * s-tassta.adb: Minor reformatting.
+
+       * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
+       by calls to Exit_One_ATC_Level, since additional clean up is performed
+       by this function.
+
+       * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
+       by calls to Exit_One_ATC_Level, since additional clean up is performed
+       by this function.
+
+2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * trans.c: Reflect GCC changes to fix bootstrap problem.
+       Add warning for suspicious aliasing unchecked conversion.
+
+2004-03-05  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
+
+       * ali.adb (Read_Instantiation_Instance): Do not modify the
+       current_file_num when reading information about instantiations, since
+       this corrupts files in later references.
+
+2004-03-02  Vincent Celier  <celier@gnat.com>
+
+       * bcheck.adb (Check_Consistency): Get the full path of an ALI file
+       before checking if it is read-only.
+
+       * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
+       of SRC_DIRS and eliminate duplicates.
+
+       * gprcmd.adb: Replace command "path" with command "path_sep" to return
+       the path separator.
+       (Usage): Document path_sep
+
+       * Makefile.generic: For Ada and GNU C++ cases, link directly with the
+       C++ compiler. No need for a script.
+       Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
+       Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
+       subst.
+
+       * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
+       where there are Ada sources.
+       (Set_Ada_Paths): Only add to the include path the source dirs of project
+       with Ada sources.
+       (Add_To_Path): Add the Display_Values of the directories, not their
+       Values.
+
+       * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
+       data.
+
+       * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
+       is not No_Name.
+       (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
+       Value is canonicalized.
+       (Language_Independent_Check): Do not copy Value to Display_Value when
+       canonicalizing Value.
+
+       * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
+       path to find limited with cycles.
+       (Parse_Single_Project): Use canonical cased path to find the end of a
+       with cycle.
+
+2004-03-02  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
+       and not a child unit.
+
+       * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
+       appear in a with_clause.
+
+       * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
+       only happen in type_annotate mode, do not try to elaborate it.
+
+       * exp_util.adb (Force_Evaluation): If expression is a selected
+       component on the left of an assignment, use a renaming rather than a
+       temporary to remove side effects.
+
+       * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
+       inlined instance body, which is analyzed before the end of the
+       enclosing scope.
+
+2004-03-02  Robert Dewar  <dewar@gnat.com>
+
+       * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
+       sem_ch4.adb: Use new feature for substitution of keywords in VMS
+
+       * errout.ads, errout.adb: Implement new circuit for substitution of
+       keywords in VMS.
+
+       * sem_case.adb (Analyze_Choices): Place message properly when case is
+       a subtype reference rather than an explicit range.
+
+       * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
+
+2004-03-02  Doug Rupp  <rupp@gnat.com>
+
+       * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
+
+2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
+
+       * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
+
+2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
+       BLKmode bitfield.
+
+2004-02-25  Robert Dewar  <dewar@gnat.com>
+
+       * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
+       55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
+       5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
+       5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
+       5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
+       5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
+       the defining instance of the type to avoid aliasing problems.
+       Fix copyright header.  Fix bad comments in package header.
+
+       * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
+
+2004-02-25  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_ch2.adb (Param_Entity): Handle properly formals that have been
+       rewritten as references when aliased through an address clause.
+
+       * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
+       whether call can be interpreted as an indirect call to the result of a
+       parameterless function call returning an access subprogram.
+
+2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
+
+       Code clean up:
+       * exp_ch7.adb (Make_Clean): Remove generation of calls to
+       Unlock[_Entries], since this is now done by Service_Entries directly.
+
+       * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
+
+       * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
+       Requeue_Call for better code readability. Change spec and update calls:
+       PO_Service_Entries now unlock the PO on exit.
+       (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
+       PO_Service_Entries.
+
+       * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
+
+       * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
+
+2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
+
+       * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
+       protected subprogram call and analyzing the result of such expanding
+       in case when the called protected subprogram is eliminated.
+
+       * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
+       names.
+
+2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
+
+       * Makefile.in: Clean ups.
+
+2004-02-23  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
+       protected operations if original subprogram is flagged as eliminated.
+       (Expand_N_Subprogram_Body): For a protected operation, create
+       discriminals for next operation before checking whether the operation
+       is eliminated.
+
+       * exp_ch9.adb (Expand_N_Protected_Body,
+       Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
+       for internal protected operations if the original subprogram is
+       eliminated.
+
+       * sem_elim.adb (Check_Eliminated): Handle properly protected operations
+       declared in a single protected object.
+
+2004-02-23  Vincent Celier  <celier@gnat.com>
+
+       * prj-attr.adb: Make attribute Builder'Executable an associative array,
+       case insensitive if file names are case insensitive, instead of a
+       standard associative array.
+
+       * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
+       them as case insensitive on platforms where the file names are case
+       sensitive.
+
+       * prj-part.adb (Parse_Single_Project): Make sure, when checking if
+       project file has already been parsed that canonical path are compared.
+
+2004-02-23  Robert Dewar  <dewar@gnat.com>
+
+       * sinput-c.ads: Correct bad unit title in header
+
+       * freeze.adb: Minor reformatting
+
+2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * trans.c (tree_transform, case N_Procedure_Call_Statement): For
+       nonaddressable COMPONENT_REF that is removing padding that we are
+       taking the address of, take the address of the padded record instead
+       if item is variable size.
+
+2004-02-20  Robert Dewar  <dewar@gnat.com>
+
+       * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
+
+2004-02-20  Ed Schonberg  <schonberg@gnat.com>
+
+       * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
+       itype references for the constrained designated type of a component
+       whose base type is already frozen.
+
+2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
+       avoid GCC warnings.
+
+2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
+
+       * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
+       identifier for a phantom package that rewrites the formal package
+       declaration with a box. The Add semantic decorations for the defining
+       identifier from the original node (that represents the formal package).
+
+2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
+
+       * Make-lang.in (ada/stamp-sdefault): Use the top level
+       move-if-change.
+
+2004-02-19  Richard Henderson  <rth@redhat.com>
+
+       * misc.c (record_code_position): Add third build arg for RTL_EXPR.
+
+2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
+
+       * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
+       Scan_ALI can be used for multiple ALI files without reinitializing
+       between calls.
+
+2004-02-18  Robert Dewar  <dewar@gnat.com>
+
+       * debug.adb: Minor reformatting.
+
+2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
+       to zero if there is an address clause.
+
+2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
+
+       * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
+
+2004-02-18  Gary Dismukes  <dismukes@gnat.com>
+
+       * layout.adb (Layout_Component_List): Revise generation of call to
+       discriminant-checking function to pass selections of all of the type's
+       discriminants rather than just the variant-controlling discriminant.
+
+2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
+
+       * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
+       fail in the current setup and triggers spurious system error messages.
+       Pretend it occurred and failed instead.
+
+2004-02-18  Vincent Celier  <celier@gnat.com>
+
+       * bld.adb: Mark FLDFLAGS as saved
+       (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
+       it is not the root project.  Put each directory to be
+       extended between double quotes to prevent it to be expanded on Windows.
+       (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
+       the project file. Set them back to their initial values if they have not
+       been set in the project file.
+
+       * gprcmd.adb: (Gprdebug, Debug): New global variables
+       (Display_Command): New procedure
+       (Usage): Document new command "linkopts"
+       Call Display_Command when env var GPRDEBUG has the value "TRUE"
+       Implement new command "linkopts"
+       Remove quotes that may be around arguments for "extend"
+       Always call Normalize_Pathname with arguments formatted for the platform
+
+       * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
+       Change @echo to @$(display) in target clean to be able to clean silently
+
+       * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
+
+       * prj-part.adb (Project_Path_Name_Of): Do not put final result in
+       canonical case.
+
+       * prj-part.adb (Parse_Single_Project): Always call with From_Extended
+       = Extending_All when current project is an extending all project.
+
+       * vms_conv.adb (Output_File_Expected): New Boolean global variable,
+       set to True only for LINK command, after Unix switch -o.
+       (Process_Arguments): Set Output_File_Expected to True for LINK command
+       after Unix switch -o. When Output_File_Expected is True, never add an
+       extension to a file name.
+
+       * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
+       option file name, only to the --for-linker= switch.
+       (Option_File_Name): If option file name do not end with ".opt", append
+       "/OPTIONS".
+
+2004-02-18  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
+
+       * Make-lang.in (stamp-sdefault): Do not depend on
+       move-if-change.
+
+2004-02-12  Zack Weinberg  <zack@codesourcery.com>
+
+       * config-lang.in: Disable Ada by default until probe logic for
+       a bootstrap Ada compiler can be moved to the top level configure
+       script.
+
+2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
+
+       * decl.c (components_to_record): Don't claim that the internal fields
+       we make to hold the variant parts are semantically addressable, because
+       they are not.
+
+       * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
+       adjust the comment describing the modular type form when we can use it.
+       (Install_PAT): Account for the Esiz renaming.
+
+       * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
+       sc_onstack context indication before raising the exception to which
+       the signal is mapped. Allows better handling of later signals possibly
+       triggered by the resumed user code if the exception is handled.
+
+2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * 5zinit.adb: Removed, no longer used.
+
+2004-02-12  Robert Dewar  <dewar@gnat.com>
+
+       * ali.adb: Remove separating space between parameters on R line. Makes
+       format consistent with format used by the binder for Set_Globals call.
+
+       * atree.ads, atree.adb: Minor reformatting (new function header format)
+
+       * bindgen.adb: Add Run-Time Globals documentation section containing
+       detailed documentation of the globals passed from the binder file to
+       the run time.
+
+       * gnatls.adb: Minor reformatting
+
+       * init.c (__gnat_set_globals): Add note pointing to documentation in
+       bindgen.
+
+       * lib-writ.ads, lib-writ.adb: Remove separating space between
+       parameters on R line.
+       Makes format consistent with format used by the binder for Set_Globals
+       call.
+
+       * osint.ads: Add 2004 to copyright notice
+       Minor reformatting
+
+       * snames.ads: Correct capitalization of FIFO_Within_Priorities
+       Noticed during code reading, documentation issue only
+
+       * usage.adb: Remove junk line for obsolete C switch
+       Noticed during code reading
+
+2004-02-12  Vincent Celier  <celier@gnat.com>
+
+       * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
+       extend for each directory, so that multiple /** directories are
+       extended individually.
+       (Recursive_Process): Set the default for LANGUAGES to ada
+
+       * gprcmd.adb: Define new command "ignore", to do nothing.
+       Implement new comment "path".
+
+       * Makefile.generic: Suppress output when SILENT is set
+       Make sure that when compiler for C/C++ is gcc, the correct -x switch is
+       used, so that the correct compiler is invoked.
+       When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
+       CXX_INCLUDE_PATH, to avoid failure with too long command lines.
+
+2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
+
+       * Makefile.in: Clean ups and remove obsolete targets.
+
+2004-02-12  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
+       predicate declared in exp_util.
+
+       * exp_util.adb: Add comments.
+
+       * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
+       visibility before compiling context of the subunit.
+
+       * sem_res.adb (Check_Parameterless_Call): If the context expects a
+       value but the name is a procedure, do not attempt to analyze as a call,
+       in order to obtain more telling diagnostics.
+
+       * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
+       'Access on parameterless function calls.
+       (Normalize_Actuals): For a parameterless function call with missing
+       actuals, defer diagnostic until resolution of enclosing call.
+
+       * sem_util.adb (Wrong_Type): If the context type is an access to
+       subprogram and the expression is a procedure name, suggest a missing
+       'attribute.
+
+2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
+           Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       PR ada/6637, PR ada/5911
+       Merge with libada-branch:
+       * config-lang.in: Build libada only when ada is built.
+
+2004-02-09  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
+       for a tagged type, verify that both formals have the same type.
+
+       * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
+       temporary when the formal is an in-parameter and the actual a possibly
+       unaligned slice.
+
+       * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
+       when expansion is disabled, to ensure proper name capture with
+       overloaded literals.  Condition can be of any boolean type, resolve
+       accordingly.
+
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
+       renaming is for a formal subprogram with a default operator name, and
+       there is a usable operator that is visible at the point of
+       instantiation.
+
+2004-02-09  Robert Dewar  <dewar@gnat.com>
+
+       * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
+       rewrite to ignore errors in ali files, intended to allow tools downward
+       compatibility with new versions of ali files.
+
+       * ali.ads: Add new parameter Ignore_Errors
+
+       * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
+       duplicating the error message giving the file with restrictions.
+
+       * debug.adb: Add debug flag I for gnatbind
+
+       * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
+       operators for the case where the operator is a defining operator.
+
+       * exp_ch3.adb: Minor reformatting (new function spec format).
+
+       * exp_ch4.adb: Add comment for previous change, and make minor
+       adjustment to loop to always check for improper loop termination.
+       Minor reformatting throughout (new function spec format).
+
+       * gnatbind.adb: Implement -di debug flag for gnatbind
+
+       * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
+
+       * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
+
+       * lib-load.adb: Fix bad assertion.
+       Found by testing and code reading.
+       Minor reformatting.
+
+       * lib-load.ads: Minor reformatting.
+
+       * lib-writ.adb: There is only one R line now.
+
+       * lib-writ.ads: Add documentation on making downward compatible changes
+       to ali files so old tools work with new ali files.
+       There is only one R line now.
+       Add documentation on format incompatibilities (with special GPS note)
+
+       * namet.ads, namet.adb: (Is_Operator_Name): New procedure
+
+       * par-load.adb: Minor reformatting
+
+       * sem_ch8.adb: Fix to error message from last update
+       Minor reformatting and restructuring of code from last update
+
+       * par-prag.adb, snames.adb, snames.ads, snames.h,
+       sem_prag.adb: Implement pragma Profile.
+
+       * stylesw.adb: Implement -gnatyN switch to turn off all style check
+       options.
+
+       * usage.adb: Add line for -gnatyN switch
+
+       * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
+
+2004-02-09  Albert Lee  <lee@gnat.com>
+
+       * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
+
+2004-02-09  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
+       slices.
+
+       * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
+       is nested in an instance that is not frozen yet, to avoid
+       order-of-elaboration problems in gigi.
+
+       * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
+       body the attribute is legal.
+
+2004-02-09  Robert Dewar  <dewar@gnat.com>
+
+       * s-rident.ads: Minor comment correction
+
+       * targparm.adb: Remove dependence on uintp completely. There was
+       always a bug in Make in that it called Targparm before initializing
+       the Uint package. The old code appeared to get away with this, but
+       the new code did not! This caused an assertion error in gnatmake.
+
+       * targparm.ads: Fix bad comment, restriction pragmas with parameters
+       are indeed fully supported.
+
+2004-02-06  Alan Modra  <amodra@bigpond.net.au>
+
+       * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
+
+2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
+       with targetm.calls.promote_prototypes.
+
+2004-02-04  Robert Dewar  <dewar@gnat.com>
+
+       * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
+       ali.ads, gprcmd.adb: Minor reformatting
+
+       * bindgen.adb: Output restrictions string for new style restrictions
+       handling
+
+       * impunit.adb: Add s-rident.ads (System.Rident) and
+       s-restri (System.Restrictions)
+
+       * lib-writ.adb: Fix bug in writing restrictions string (last few
+       entries wrong)
+
+       * s-restri.ads, s-restri.adb: Change name Restrictions to
+       Run_Time_Restrictions to avoid conflict with package name.
+       Add circuit to read and acquire run time restrictions.
+
+2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * restrict.ads, restrict.adb: Use the new restriction
+       No_Task_Attributes_Package instead of the old No_Task_Attributes.
+
+       * sem_prag.adb: No_Task_Attributes is a synonym of
+       No_Task_Attributes_Package.
+
+       * snames.ads, snames.adb: New entry for proper handling of
+       No_Task_Attributes.
+
+       * s-rident.ads: Adding restriction No_Task_Attributes_Package
+       (AI-00249) that supersedes the GNAT specific restriction
+       No_Task_Attributes.
+
+2004-02-04  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_prag.adb:
+       (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
+        body, an identifier may be wrapped in an unchecked conversion.
+
+2004-02-04  Vincent Celier  <celier@gnat.com>
+
+       * lib-writ.ads: Comment update for the W lines
+
+       * bld.adb: (Expression): An empty string list is static
+
+       * fname-uf.adb: Minor comment update
+
+       * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
+
+       * gnatbind.adb: Initialize Cumulative_Restrictions with the
+       restrictions on the target.
+
+2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
+       gen_rtx.
+
+2004-02-02  Arnaud Charlet  <charlet@gnat.com>
+
+       * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
+
+2004-02-02  Vincent Celier  <celier@gnat.com>
+
+       * gprcmd.adb (Check_Args): If condition is false, print the invoked
+       comment before the usage.
+       Gprcmd: Fail when command is not recognized.
+       (Usage): Document command "prefix"
+
+       * g-md5.adb (Digest): Process last block.
+       (Update): Do not process last block. Store remaining characters and
+       length in Context.
+
+       * g-md5.ads (Update): Document that several call to update are
+       equivalent to one call with the concatenated string.
+       (Context): Add fields to allow new Update behaviour.
+
+       * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
+       defaulted to False.
+       When May_Fail is True and no existing file can be found, return No_File.
+
+       * 6vcstrea.adb: Inlined functions are now wrappers to implementation
+       functions.
+
+       * lib-writ.adb (Write_With_Lines): When body file does not exist, use
+       spec file name instead on the W line.
+
+2004-02-02  Robert Dewar  <dewar@gnat.com>
+
+       * ali.adb: Read and acquire info from new format restrictions lines
+
+       * bcheck.adb: Add circuits for checking restrictions with parameters
+
+       * bindgen.adb: Output dummy restrictions data
+       To be changed later
+
+       * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
+       exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
+       freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
+       sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
+       sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
+
+       * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
+       the warning message on access to possibly uninitialized variable S)
+       Minor changes for new restrictions handling.
+
+       * gnatbind.adb: Minor reformatting
+       Minor changes for new restrictions handling
+       Move circuit for -r processing here from bcheck (cleaner)
+
+       * gnatcmd.adb, gnatlink.adb: Minor reformatting
+
+       * lib-writ.adb: Output new format restrictions lines
+
+       * lib-writ.ads: Document new R format lines for new restrictions
+       handling.
+
+       * s-restri.ads/adb: New files
+
+       * Makefile.rtl: Add entry for s-restri.ads/adb
+
+       * par-ch3.adb: Fix bad error messages starting with upper case letter
+       Minor reformatting
+
+       * restrict.adb: Major rewrite throughout for new restrictions handling
+       Major point is to handle restrictions with parameters
+
+       * restrict.ads: Major changes in interface to handle restrictions with
+       parameters. Also generally simplifies setting of restrictions.
+
+       * snames.ads/adb: New entry for proper handling of No_Requeue
+
+       * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
+       restriction counting.
+       Other minor changes for new restrictions handling
+
+       * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
+       Restriction_Warnings now allows full parameter notation
+       Major rewrite of Restrictions for new restrictions handling
+
+2004-02-02  Javier Miranda  <miranda@gnat.com>
+
+       * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
+       syntax rule for object renaming declarations.
+       (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
+       component definitions.
+
+       * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
+       components.
+       (Array_Type_Declaration): Give support to access components. In addition
+       it was also modified to reflect the name of the object in anonymous
+       array types. The old code did not take into account that it is possible
+       to have an unconstrained anonymous array with an initial value.
+       (Check_Or_Process_Discriminants): Allow access discriminant in
+       non-limited types.
+       (Process_Discriminants): Allow access discriminant in non-limited types
+       Initialize the new Access_Definition field in N_Object_Renaming_Decl
+       node.  Change Ada0Y to Ada 0Y in comments
+
+       * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
+       equality operators.
+       Change Ada0Y to Ada 0Y in comments
+
+       * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
+       renamings Change Ada0Y to Ada 0Y in comments
+
+       * sem_type.adb (Find_Unique_Type): Give support to the equality
+       operators for universal access types
+       Change Ada0Y to Ada 0Y in comments
+
+       * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
+
+       * sinfo.ads (N_Component_Definition): Addition of Access_Definition
+       field.
+       (N_Object_Renaming_Declaration): Addition of Access_Definition field
+       Change Ada0Y to Ada 0Y in comments
+
+       * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
+       component definition and object renaming nodes
+       Change Ada0Y to Ada 0Y in comments
+
+2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * restrict.adb: Use the new restriction identifier
+       No_Requeue_Statements instead of the old No_Requeue for defining the
+       restricted profile.
+
+       * sem_ch9.adb (Analyze_Requeue): Check the new restriction
+       No_Requeue_Statements.
+
+       * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
+       that supersedes the GNAT specific restriction No_Requeue. The later is
+       kept for backward compatibility.
+
+2004-02-02  Ed Schonberg  <schonberg@gnat.com>
+
+       * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
+       5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
+       pragma and fix incorrect ones.
+
+       * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
+       warning if the pragma is redundant.
+
+2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
+
+       * 5staprop.adb: Add missing 'constant' keywords.
+
+       * Makefile.in: use consistent value for SYMLIB on
+       platforms where libaddr2line is supported.
+
+2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * utils.c (end_subprog_body): Do not call rest_of_compilation if just
+       annotating types.
+
+2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
+
+       * init.c (__gnat_install_handler): Setup an alternate stack for signal
+       handlers in the environment thread. This allows proper propagation of
+       an exception on stack overflows in this thread even when the builtin
+       ABI stack-checking scheme is used without support for a stack reserve
+       region.
+
+       * utils.c (create_field_decl): Augment the head comment about bitfield
+       creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
+       here, because the former is not accurate enough at this point.
+       Let finish_record_type decide instead.
+       Don't make a bitfield if the field is to be addressable.
+       Always set a size for the field if the record is packed, to ensure the
+       checks for bitfield creation are triggered.
+       (finish_record_type): During last pass over the fields, clear
+       DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
+       not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
+       from DECL_BIT_FIELD.
+
+2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
+       (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
+       (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
+
+2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
+
+       * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
+       (ZCX_By_Default): Likewise.
+       (Front_End_ZCX_Support): Likewise.
+
+       * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
+       (Initialize_Lock): Mark Level unreferenced.
+       (Sleep): Mark Reason unreferenced.
+       (Timed_Sleep): Likewise.
+       (Wakeup): Likewise.
+       (Exit_Task): Use Result.
+       (Check_No_Locks): Mark Self_ID unreferenced.
+
+       * 5gtasinf.adb (New_Sproc): Make Attr constant.
+       (Bound_Thread_Attributes): Make Sproc constant.
+       (New_Bound_Thread_Attributes): Likewise.
+
+2004-01-26  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
+       one-dimensional array an slice assignments, when component type is
+       controlled.
+
+       * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
+       component type is controlled, and control_actions are in effect, use
+       TSS procedure rather than generating inline code.
+
+       * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
+       arrays with controlled components.
+
+2004-01-26  Vincent Celier  <celier@gnat.com>
+
+       * gnatcmd.adb (GNATCmd): Add specification of argument file on the
+       command line for the non VMS case.
+
+       * gnatlink.adb (Process_Binder_File): When building object file, if
+       GNU linker is used, put all object paths between quotes, to prevent ld
+       error when there are unusual characters (such as '!') in the paths.
+
+       * Makefile.generic: When there are sources in Ada and the main is in
+       C/C++, invoke gnatmake with -B, instead of -z.
+
+       * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
+       from VMS_Conversion.
+       (Process_Argument): New procedure, extracted from VMS_Conversion. Add
+       specification of argument file on the command line.
+
+2004-01-26  Bernard Banner  <banner@gnat.com>
+
+       * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
+
+2004-01-26  Ed Schonberg  <schonberg@gnat.com>
+
+       * snames.adb: Update copyright notice.
+       Add info on slice assignment for controlled arrays.
+
+2004-01-23  Robert Dewar  <dewar@gnat.com>
+
+       * exp_aggr.adb: Minor reformatting
+
+       * exp_ch9.adb: Minor code clean up
+       Minor reformatting
+       Fix bad character in comment
+
+       PR ada/13471
+       * targparm.adb (Get_Target_Parameters): Give clean abort error on
+       unexpected end of file, along with more detailed message.
+
+2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
+       PAT.
+
+       * decl.c (copy_alias_set): New function.
+       (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
+
+2004-01-23  Doug Rupp  <rupp@gnat.com>
+
+       * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
+       lib$${file} in case subsequent character is not a separator.
+
+2004-01-23  Vincent Celier  <celier@gnat.com>
+
+       * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
+       when the GCC version is at least 3.
+
+       * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
+       Remove all "Opt.", to prepare for opt split
+
+       * prj-part.adb (Parse_Single_Project): New Boolean out parameter
+       Extends_All. Set to True when the project parsed is an extending all
+       project. Fails for importing an extending all project only when the
+       imported project is an extending all project.
+       (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
+       depending on the value of Extends_All returned.
+
+       * prj-proc.adb (Process): Check that no project shares its object
+       directory with a project that extends it, directly or indirectly,
+       including a virtual project.
+       Check that no project extended by another project shares its object
+       directory with another also extended project.
+
+       * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
+       Kind = N_With_Clause
+
+       * prj-tree.ads: Minor reformatting
+       Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
+
+2004-01-23  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
+       applies to a type with an incomplete view, use full view in Name of
+       clause, for consistency with uses of Get_Attribute_Definition_Clause.
+
+2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
+       SCHED_RR, since other values are not supported by this policy.
+       (Initialize): Move initialization of mutex attribute to package
+       elaboration, to prevent early access to this variable.
+
+       * Makefile.in: Remove mention of Makefile.adalib, unused.
+
+       * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
+       1ssecsta.ads: Removed, unused.
+
+2004-01-21  Javier Miranda  <miranda@gnat.com>
+
+       * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
+       entity if already built in the current scope.
+
+       * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
+       reminder in internal scopes. Required for nested limited aggregates.
+
+2004-01-21  Doug Rupp  <rupp@gnat.com>
+
+       * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
+       VMS. Replace all occurences of libgnat- and libgnarl- with
+       libgnat$(hyphen) and libgnarl$(hyphen).
+       Fixed shared library build problem on VMS.
+
+2004-01-21  Robert Dewar  <dewar@gnat.com>
+
+       * mlib-prj.adb: Minor reformatting
+
+2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
+
+       * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
+       'constant' keywords for declaration of pointers that are not modified.
+
+       * exp_pakd.adb: Fix English in comment.
+
+2004-01-21  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/10889
+       * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
+       copy all attributes of the parent, including the foreign language
+       convention.
+
+2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
+
+       PR ada/10565
+       * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
+       for 'delay until' statement.
+
+2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * Make-lang.in: Replace $(docdir) with doc.
+       (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
+       doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
+       to use consistent MAKEINFO rule.
+       (ada.man, ada.srcman): Dummy entry.
+       (ADA_INFOFILES): Define.
+       (ada.info, ada.srcinfo): New rules.
+
+2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * utils.c: Update copyright notice, missed in previous change.
+
+2004-01-19  Vincent Celier  <celier@gnat.com>
+
+       * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
+       args if Bind is True. Set First_ALI, if not already done.
+       (Build_Library): For Stand Alone Libraries, extract from one ALI file
+       an eventual --RTS switch, for gnatbind, and all backend switches +
+       --RTS, for linking.
+
+2004-01-19  Robert Dewar  <dewar@gnat.com>
+
+       * sem_attr.adb, memtrack.adb: Minor reformatting
+
+2004-01-19  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
+       that rename enumeration literals. This is properly done in sem_eval.
+
+       * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
+       to functions that rename enumeration literals.
+
+       * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
+       functions that rename enumeration literals.
+
+2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * Make-lang.in (utils.o): Depend on target.h.
+       * utils.c: Include target.h.
+       (process_attributes): Use targetm.have_named_sections instead
+       of ASM_OUTPUT_SECTION_NAME.
+
+2004-01-16  Andreas Jaeger  <aj@suse.de>
+
+       * Makefile.in: Add $(DESTDIR).
+
+2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
+
+       * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
+       also when not defining if a Size clause applies. That information is
+       not to be ignored.
+
+2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
+       symbolic links for the shared gnat run time when needed.
+
+2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
+
+       * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
+       for writing, and terminate with an error message if not.
+
+2004-01-15  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
+       warning on an access to subprogram in an instance, when the target
+       type is declared in the same generic unit.
+       (Eval_Attribute): If 'access is known to fail accessibility check,
+       rewrite as a raise statement.
+
+2004-01-15  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * Make-lang.in (ada.srcextra): Dummy entry.
+
+2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
+
+2004-01-13  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
+       components that are initialized with aggregates.
+
+2004-01-13  Vincent Celier  <celier@gnat.com>
+
+       * gnatlink.adb (Process_Binder_File): To find directory of shared
+       libgcc, if "gcc-lib" is not a subdirectory, look for the last
+       subdirectory "lib" in the path of the shared libgnat or libgnarl.
+
+       * make.adb (Gnatmake): If GCC version is at least 3, link with
+       -shared-libgcc, when there is at least one shared library project.
+
+       * opt.ads (GCC_Version): New integer constant.
+
+       * adaint.c (get_gcc_version): New function.
+
+2004-01-13  Robert Dewar  <dewar@gnat.com>
+
+       * sem_dist.adb, sem_res.adb, sem_util.adb,
+       sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
+       exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
+
+2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
+
+       * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
+       g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
+       declarations.
+
+2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * misc.c: Remove trailing spaces.
+       Update copyright notice missed in previous change.
+
+       PR ada/13572
+       * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
+       prefix/share/make
+
+       * Makefile.generic: Update copyright.
+       Add license notice.
+
+       * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
+       of prefix/share/make.
+
+       * Makefile.prolog: Update copyright.
+       Add license notice.
+
+2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
+
+       * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
+       3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
+       g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
+       instead of String.
+
+       * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
+       signature.
+
+2004-01-12  Javier Miranda  <miranda@gnat.com>
+
+       * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
+       exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
+       sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
+       sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
+       Component_Definition node.
+
+2004-01-12  Ed Falis  <falis@gnat.com>
+
+       * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
+
+2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
+
+       * link.c: Change default libgnat kind to STATIC for FreeBSD.
+
+2004-01-12  Bernard Banner  <banner@gnat.com>
+
+       * Makefile.in: map 86numaux to a-numaux for x86_64
+
+2004-01-12  Ed Schonberg  <schonberg@gnat.com>
+
+       * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
+       generated to rename a generic actual, go to the actual itself, the
+       subtype is not a user-visible entity.
+
+       * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
+       part is a private subtype, reset the visibility of its full view, if
+       any, to be consistent.
+
+       PR ada/13417
+       * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
+       to use a generic package G as a formal package for another generic
+       declared within G.
+
+2004-01-12  Robert Dewar  <dewar@gnat.com>
+
+       * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
+
+       * usage.adb: Remove mention of obsolete -gnatwb switch
+       Noticed during code reading
+
+2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
+
+       * 1ssecsta.adb: Minor changes for -gnatwa warnings
+
+2004-01-12  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
 
        * misc.c (gnat_expand_expr): Add alt_rtl parameter.
 
 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
 
-       * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18. 
+       * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
        Update comment and copyright date.
        * stamp-xgnatug: Delete.
 
 
        * sprint.adb: Minor updates to avoid -gnatwa warnings
 
-       * s-secsta.ads, s-secsta.adb: 
+       * s-secsta.ads, s-secsta.adb:
        (SS_Get_Max): New function to obtain high water mark for ss stack
        Default_Secondary_Stack is not a constant since it may be modified by
        the binder generated main program if the -D switch is used.
 
        * switch-b.adb: New -Dnnn switch for binder
 
-       * switch-c.adb: 
+       * switch-c.adb:
        Make -gnatg imply all warnings currently in -gnatwa
 
        * vms_conv.adb: Minor reformatting
        to __gnat_map_signal, imported from init.c to support
        signal -> exception mappings that depend on the vxWorks version.
 
-       * init.c: 
+       * init.c:
        Created and exported __gnat_map_signal to support signal -> exception
        mapping that is dependent on the VxWorks version.
        Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
 
        * sem_ch3.adb: Minor reformatting
 
-       * sem_prag.adb: 
+       * sem_prag.adb:
        Fix bad prototype of Same_Base_Type in body (code reading cleanup)
        Minor reformatting throughout
 
 
        PR ada/11724
 
-       * adaint.h, adaint.c, g-os_lib.ads: 
+       * adaint.h, adaint.c, g-os_lib.ads:
        Do not assume that the offset argument to lseek(2) is a 32 bit integer,
        on some platforms (including FreeBSD), it is a 64 bit value.
        Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
        * gnatlbr.adb: Clean up: replace Library_Version by
        Verbose_Library_Version.
 
-       * make.adb, lib-writ.adb, exp_attr.adb: 
+       * make.adb, lib-writ.adb, exp_attr.adb:
        Clean up: replace Library_Version by Verbose_Library_Version.
 
        * 5lintman.adb: Removed.
 
-       * Makefile.in: 
+       * Makefile.in:
        Update and simplify computation of LIBRARY_VERSION.
        Fix computation of GSMATCH_VERSION.
        5lintman.adb is no longer used: replaced by 7sintman.adb.
 
 2003-12-03  Robert Dewar  <dewar@gnat.com>
 
-       * exp_ch5.adb: 
+       * exp_ch5.adb:
        (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
        name. Modified to consider small non-bit-packed arrays as troublesome
        and in need of component-by-component assigment expansion.
 
 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
 
-       * Makefile.in: 
+       * Makefile.in:
        When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
        redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
        included in HIE_NONE_TARGET_PAIRS.
 
 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
 
-       * sem_attr.adb: 
+       * sem_attr.adb:
        (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
        is legal in an instance, because legality is cheched in the template.
 
-       * sem_prag.adb: 
+       * sem_prag.adb:
        (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
        appplied to an unchecked conversion of a formal parameter.
 
-       * sem_warn.adb: 
+       * sem_warn.adb:
        (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
        variables.
 
 
 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
 
-       * g-socket.ads, g-socket.adb: 
+       * g-socket.ads, g-socket.adb:
        Clarify documentation of function Stream. Introduce a Free procedure
        to release the returned Stream once it becomes unused.
 
 
 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
 
-       * exp_ch4.adb: 
+       * exp_ch4.adb:
        (Expand_N_Slice): Recognize all cases of slices that appear as actuals
        in procedure calls and whose expansion must be deferred.
 
        * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
        is in exp_ch4.
 
-       * sem_ch3.adb: 
+       * sem_ch3.adb:
        (Build_Derived_Array_Type): Create operator for unconstrained type
        if ancestor is unconstrained.
 
        Change to object directory of main project before binding step.
        (Initialize): Initialize Project_Object_Directory to No_Project
 
-       * mlib-prj.adb: 
+       * mlib-prj.adb:
        (Build_Library): Take into account Builder'Default_Switches ("Ada") when
        binding a Stand-Alone Library.
 
 
        * sem_ch13.adb: (Check_Size): Reset size if size is too small
 
-       * sem_ch13.ads: 
+       * sem_ch13.ads:
        (Check_Size): Fix documentation to include bit-packed array case
 
        * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
 
 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
 
-       * Makefile.in: 
+       * Makefile.in:
        Use 5zintman.ads for VxWorks targets. This file avoid confusion between
        signals and interrupts.
 
        * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
        add exception signals to the set of unmasked signals.
 
-       * 5ztaprop.adb: 
+       * 5ztaprop.adb:
        Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
        between signals and interrupts.
        Add to Unblocked_Signal_Mask the set of signals that are in
        Keep_Unmasked.
 
-       * 7sinmaop.adb: 
+       * 7sinmaop.adb:
        Adding a check to see whether the Interrupt_ID we want to unmask is in
        the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
        reason is that the index type of the Keep_Unmasked array is not always
 
 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
 
-       * exp_util.adb: 
+       * exp_util.adb:
        (Remove_Side_Effects): Condition constantness of object created for a
         an unchecked type conversion on the constantness of the expression
         to ensure the correct value for 'Constrained when passing components
 
 2003-11-24  Vincent Celier  <celier@gnat.com>
 
-       * make.adb: 
+       * make.adb:
        (Gnatmake, Initialize): Call Usage instead of Makeusg directly
        (Marking_Label): Label to mark processed source files. Incremented for
        each executable.
 
 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
 
-       * s-thread.ads: 
+       * s-thread.ads:
        Move the declaration of the TSD for System.Threads to System.Soft_Links.
        Add some comments.
 
 
 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
 
-       * Make-lang.in: 
+       * Make-lang.in:
        Use gnatls rather than gcc to obtain the location of GNAT RTL for
        crosstools build.
 
 
 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
 
-       * sem_ch3.adb: 
+       * sem_ch3.adb:
        (New_Concatenation_Op): Proper name for New_Binary_Operator, only
        used for implicit concatenation operators.
        Code cleanup.
 
-       * sem_elab.adb: 
+       * sem_elab.adb:
        (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
        task bodies that are in the scope of a Suppress pragma.
        (Check_A Call): Use the flag to prevent spurious elaboration checks.
 
-       * sinfo.ads, sinfo.adb: 
+       * sinfo.ads, sinfo.adb:
        New flag No_Elaboration_Check on function/procedure calls, to properly
        suppress checks on calls in task bodies that are within a local suppress
        pragma.
 
-       * exp_ch4.adb: 
+       * exp_ch4.adb:
        (Expand_Concatenate_Other): Use the proper integer type for the
        expression for the upper bound, to avoid universal_integer computations
        when possible.
        * snames.ads, snames.adbadb: New standard names
        Library_Reference_Symbol_File and Library_Symbol_Policy
 
-       * mlib-prj.adb: 
+       * mlib-prj.adb:
        (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
        project.
 
-       * mlib-tgt.adb: 
+       * mlib-tgt.adb:
        (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
 
        * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
        * prj.ads: (Policy, Symbol_Record): New types
        (Project_Data): New component Symbol_Data
 
-       * prj-attr.adb: 
+       * prj-attr.adb:
        New attributes Library_Symbol_File, Library_Symbol_Policy and
        Library_Reference_Symbol_File.
 
-       * prj-nmsc.adb: 
+       * prj-nmsc.adb:
        (Ada_Check): When project is a Stand-Alone library project, process
        attribute Library_Symbol_File, Library_Symbol_Policy and
        Library_Reference_Symbol_File.
        gnatsym related to symbol file, symbol policy and reference symbol
        file.
 
-       * 5vsymbol.adb: 
+       * 5vsymbol.adb:
        Extensive modifications to take into account the reference symbol file,
        the symbol policy, the library version and to put in the symbol file the
        minor and major IDs.
        (Flush): Remove last character of a line, if it is a back slash, to
        avoid make problems.
 
-       * gnatsym.adb: 
+       * gnatsym.adb:
        Implement new scheme with reference symbol file and symbol policy.
 
        * g-os_lib.ads: (Is_Directory): Clarify comment
 
 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
 
-       * exp_ch6.adb: 
+       * exp_ch6.adb:
        (Add_Call_By_Copy_Node): Do not original node of rewritten expression
        in the rewriting is the result of an inlined call.
 
        post-call assignment, because expression may have been rewritten, e.g.
        if it is a packed array.
 
-       * sem_attr.adb: 
+       * sem_attr.adb:
        (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
        body, just as it is in an instance.
        Categorization routines
 
 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
 
-       * cstreams.c: 
+       * cstreams.c:
        Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
 
        * init.c: Initialization routines for FreeBSD
 2003-11-14  Andreas Jaeger  <aj@suse.de>
 
        * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
-       is the canonical version. 
+       is the canonical version.
        * misc.c (gnat_handle_option): Likewise.
 
        * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.